2014-01-10 24 views
2

如果文本为00:00。我是否想要更改TextBlock的Background属性?是否有简单的XAML解决方案?我试图创造一个DataTrigger但它不改变颜色根据文本的值更改TextBlock背景

 <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}"/> 

回答

4

什么正常Trigger

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

我觉得你在你的datatrigger结合应该是

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

虽然你的'Binding'语法*是*正确的,如果可以使用更轻量级的'Trigger' inst完成相同的事情,那么使用带有'Binding'的'DataTrigger'就不需要额外的资源了。元首。 – Sheridan

相关问题