C# 根据文本的值更改文本块背景

C# 根据文本的值更改文本块背景,c#,wpf,xaml,.net-4.0,C#,Wpf,Xaml,.net 4.0,如果文本是00:00,我想更改TextBlock的背景属性。有简单的XAML解决方案吗?我尝试创建一个数据触发器,但它不会改变颜色 <Style TargetType="TextBlock" x:Key="textBlock"> <Style.Triggers> <DataTrigger Binding="{Binding}" Value="00:00">

如果文本是00:00,我想更改TextBlock的背景属性。有简单的XAML解决方案吗?我尝试创建一个数据触发器,但它不会改变颜色

        <Style TargetType="TextBlock" x:Key="textBlock">
            <Style.Triggers>
                <DataTrigger Binding="{Binding}" Value="00:00">
                    <Setter Property="Background" Value="Red" />
                </DataTrigger>
            </Style.Triggers>
        </Style>

<TextBlock Text="{Binding}" Margin="3" Style="{DynamicResource textBlock}"/>


正常的
触发器怎么样

<Style TargetType="TextBlock" x:Key="textBlock">
    <Style.Triggers>
        <Trigger Property="TextBlock.Text" Value="00:00">
            <Setter Property="Background" Value="Red" />
        </Trigger>
    </Style.Triggers>
</Style>

我认为数据触发器中的绑定应该是

Binding="{Binding RelativeSource={RelativeSource Self},Path=Text}"

虽然您的
绑定
语法是正确的,但是如果可以使用较轻的
触发器
执行相同的操作,那么将
数据触发器
与其
绑定
一起使用则需要额外的资源,这是没有意义的。