gpt4 book ai didi

c# - Textblock DataTriggers 未触发

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:54 25 4
gpt4 key购买 nike

我正在尝试将一些数据绑定(bind)到 TextBlock。 TextBlock 用于显示 slider 值,当 slider 值发生变化时,我希望 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>

我已经使用 DataContext 绑定(bind)了 TextBlock:

texBlock1.DataContext = m_slider;

我在滑动条更新处理程序触发时更新了 m_slider 对象。

但是,我没有看到任何文本或颜色变化。

最佳答案

您可以用文本框替换文本 block ,并通过应用以下属性使其在外观和感觉上相似

<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>

然后您可以使用 TextChanged 事件,以便在您的绑定(bind)更改文本时随时更新其样式

关于c# - Textblock DataTriggers 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14382873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com