C# 通过触发器更改文本块中文本的颜色
这是我的XamlC# 通过触发器更改文本块中文本的颜色,c#,.net,wpf,xaml,datatrigger,C#,.net,Wpf,Xaml,Datatrigger,这是我的Xaml <Window.Resources> <sampleData:MainWindow x:Key="DataSource"/> <DataTemplate x:Key="bobReferencer"> <TextBlock Text="{Binding Name}" > <TextBlock.Style>
<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>
基本上我想做的是,如果HasErrors为true,那么我希望名称通过触发器显示为红色。但是我的xaml格式不正确。有什么建议吗?我也查看了这个链接,但没有多大帮助。你就快到了
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding HasErrors}" Value="true">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
在数据触发器中添加一个setter
<Setter Property="Foreground" Value="Red"/>
基本上,该值应为红色。但这是可行的:)谢谢Gleng,一旦我从Admin获得许可,我会批准这是一个有效的答案。另外,请确保您的模型类(Bob)实现并让属性在setter中引发事件,以便UI知道如何更新。@Net Dev很好地发现了!谢谢:)
<Setter Property="Foreground" Value="Red"/>