2

这是我的 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>

代码隐藏(一个 xaml 参考)

public class bob
{

    public string Name
    {
        get;
        set;
    }

    public bool HasErrors
    {
        get;
        set;
    }
 }

基本上我想要做的是,如果 HasErrors 为真,那么我希望名称通过触发器以红色显示。但是我的 xaml 格式不正确。对此有何建议?我也查看了这个链接,但没有太大帮助。
如何使用触发器更改 TextBlock 的前景色?

4

2 回答 2

4

你快到了..

        <Style TargetType="TextBlock">
            <Style.Triggers>
                <DataTrigger Binding="{Binding HasErrors}" Value="true">
                  <Setter Property="Foreground" Value="Red"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
于 2013-10-18T15:53:57.810 回答
2

在 DataTrigger 中添加一个 setter

 <Setter Property="Foreground" Value="Red"/>
于 2013-10-18T15:56:13.863 回答