我有一个非常简单的位置读数——它只是一个应用了样式的 TextBlock。在那种样式中,我只是这样设置(还有比这更多的属性,但为了简洁我把它们去掉了):
<Style x:Key="NumberStyle" TargetType="{x:Type TextBlock}">
<Setter Property="TextAlignment" Value="Center" />
</Style>
现在,我有一个使用这种样式的显示器,它将显示 0.0 到 30000.0 之间的数字。问题是,由于我将文本居中,数字(如果变化很快)会到处乱跳,这有点令人不安。我想格式化我的字符串,这样它就不会这样做。
我在 XAML 中尝试了这个 ConverterParameter:
ConverterParameter='\{0:00000.0\}'
当它正确填充时,我会得到像 00032.5 这样的数字。然后我更换了0
with #
,但最终的表现就像{0:0.0}
。我看了看MSDN 文档并且没有看到任何其他有帮助的东西。
我唯一能想到的是我必须编写一个新的 IValueConverter 来执行此操作。换句话说,在 Convert() 方法中,我必须采取parameter
并解析它以找出我自己的特殊字符。然后当我检测到这一点时,用空格替换丢失的数字。
但是,我在这里真正想学习的是,可以通过简单地在格式字符串中使用我不知道的不同字符来完成此操作吗?
我想你需要类似的东西{0,7}
(在七个位置上显示参数,用空格向左填充)。然而,即使在这种情况下,为了使文本不跳转,您需要使用等宽字体,或者至少使用空格字符宽度等于数字宽度的字体。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)