Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过触发器更改文本块中文本的颜色_C#_.net_Wpf_Xaml_Datatrigger - Fatal编程技术网

C# 通过触发器更改文本块中文本的颜色

C# 通过触发器更改文本块中文本的颜色,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>

这是我的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>
基本上我想做的是,如果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"/>