מהו דטה טריגר?
כל טריגר שמאפיין המעקב לא "מקומי". לדוגמא Button שנהיה זמין רק אם TextBox.Text לא ריקה,
אז הButton מכיל סטייל בעל טריגר שעוקב באמצעות דטה טריגר אחרי ערכו של המאפיין Text, המשוייך לאלמנט הTextBox.
בדטה טריגר במקום המאפיין Property יש לטריגר רגיל, יש מאפיין Binding.
הוא מקבל ביטוי "בינדינגי" שאנו יכולים להפנות לכל מאפיין שיש לנו גישה אליו, ואחריו הטריגר יעקוב.
הנה דוגמא:
<Button Content="Button" HorizontalAlignment="Left" Name="button1" VerticalAlignment="Top" Width="75" Margin="50,50">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=textBox1, Path=Text}" Value="">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<TextBox Height="23" HorizontalAlignment="Left" Margin="50,80" Name="textBox1" VerticalAlignment="Top" Width="75" />
בדוגמא זו המעקב נעשה מתוך הסטייל של הButton, ואחר המאפיין Text של הTextBox שהובא גם בדוגמא להשלמת התמונה.
פורסם במקור בפורום CODE613 ב24/06/2013 14:00 (+03:00)