我尝试改变标签的行为,以便在通常显示“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>
不幸的是,这个和我直接将触发器绑定到属性的变量都不起作用。
有什么建议?提前致谢!
如果您使用TextBlock
,或将Content
的Label
设置为TextBlock
,您可以使用:
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding LsMw, StringFormat={}{0:########0;-########0;-}}"/>