使用DataTrigger更改Label的内容

时间:2018-01-04 13:47:28

标签: wpf data-binding datatrigger

我尝试更改标签的行为以显示' - '每当他们通常会显示一个' 0'。我试图通过使用DataTrigger实现这一点(我也在考虑转换器,但DataTrigger可能是我代码更优雅的解决方案)。

<Label Grid.Row="1" Grid.Column="1" Content="{Binding LsMw, UpdateSourceTrigger=PropertyChanged}" ContentStringFormat="{}{0:########0}">
            <Label.Style>
                <Style TargetType="Label">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Content}" Value="0">
                            <Setter Property="Content" Value="-"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Label.Style>
        </Label>

不幸的是,将触发器直接绑定到属性的这个和varaint都不起作用。

有什么建议吗? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

如果您要使用TextBlock,或将Content的{​​{1}}设置为Label,则可以使用:

TextBlock