这是我的Xaml
<Window.Resources>
<sampleData:MainWindow x:Key="DataSource"/>
<DataTemplate x:Key="bobReferencer">
<TextBlock Text="{Binding Name}" >
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding HasErrors}" Value="true">
//what goes in here?
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</Window.Resources>
Codebehind(一个xaml引用)
public class bob
{
public string Name
{
get;
set;
}
public bool HasErrors
{
get;
set;
}
}
基本上我想要做的是如果HasErrors为真,那么我希望Name通过触发器以红色显示。但我的xaml没有正确形成。有什么建议吗?我也看了这个链接,但没多大帮助 How can I change the Foreground color of a TextBlock with a Trigger?
答案 0 :(得分:4)
你差不多......
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding HasErrors}" Value="true">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
答案 1 :(得分:2)
在DataTrigger中添加一个setter
<Setter Property="Foreground" Value="Red"/>