Textblock DataTriggers not firing
本文关键字:firing not DataTriggers Textblock | 更新日期: 2023-09-27 17:54:07
我试图将一些数据绑定到TextBlock。TextBlock将显示一个滑动条值,当滑动条值改变时,我希望TextBlock文本将颜色更改为红色。
我的XAML是这样的:<Grid Height="227">
<TextBlock Margin="114,60,112,150" Name="textBlock1" Text="{Binding Path=DispVal}" Width="42" Grid.Column="1" HorizontalAlignment="Center" TextAlignment="Center" FontWeight="Bold">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="Black"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsChanged}" Value="true">
<Setter Property="TextBlock.Foreground" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsChanged}" Value="false">
<Setter Property="TextBlock.Foreground" Value="Black" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
我已经绑定了TextBlock使用DataContext:
texBlock1.DataContext = m_slider;
当我的滑动条更新处理程序触发时,我更新m_slider对象。
但是,我没有得到任何文本或颜色的变化。
您可以将textblock替换为textbox,并通过应用以下属性使其外观和感觉相似
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
然后你可以使用TextChanged事件来更新它的样式任何时候文本被你的绑定