DataTrigger
DataTrigger
可以附加到任何屬性,無論是它自己的控制元件,另一個控制元件,還是非 UI 類中的屬性。考慮以下簡單類。
public class Cheese
{
public string Name { get; set; }
public double Age { get; set; }
public int StinkLevel { get; set; }
}
我們將在下面的 TextBlock
作為 DataContext
附加。
<TextBlock Text="{Binding Name}">
<TextBlock.DataContext>
<local:Cheese Age="12" StinkLevel="100" Name="Limburger"/>
</TextBlock.DataContext>
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding StinkLevel}" Value="100">
<Setter Property="Foreground" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
在前面的程式碼中,TextBlock.Foreground
屬性為 Green。如果我們將 XAML 中的 StinkLevel
屬性更改為 100 以外的任何值,則 Text.Foreground
屬性將恢復為預設值。