wpf button triggers
¿Cuál es la diferencia entre un Trigger y un DataTrigger? (3)
La respuesta corta (cuando estoy a punto de dormir): un desencadenador funciona en propiedades de dependencia (generalmente propiedades de GUI) mientras que cualquier propiedad .NET puede desencadenar datos (normalmente una propiedad en un ViewModel que implementa INotifyPropertyChanged ).
Parecen lo mismo. ¿Hay una diferencia significativa? Creo que me estoy perdiendo algo.
Otra diferencia es que un DataTrigger
puede vincularse a otro control, un StaticResource, etc., etc.
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger
Binding="{Binding SomeProperty,
ElementName=someOtherControl"
Value="Derp">
<!-- etc -->
Solo puede examinar la instancia en la que se establece el estilo cuando usa un Trigger
. Por ejemplo, un Trigger
aplicado a un botón puede inspeccionar el valor de IsPressed
, pero no podría inspeccionar el valor de IsPressed
(por ejemplo) de un TextBox
de TextBox
en el mismo formulario si desea desactivar el Button
si el TextBox
estaba vacío. .
Un activador normal solo responde a las propiedades de dependencia.
Un desencadenante de datos puede ser desencadenado por cualquier propiedad .NET (estableciendo su propiedad de enlace). Sin embargo, sus implementadores aún pueden orientar solo las propiedades de dependencia.