我认为这是一个超级基本的问题,但我不能让它运行。我想显示一个固定的数字在我的WPF视图没有绑定。这个数字是0.001或在德国0,001。看到分隔符。现在,如果我切换用户界面的语言,数字分隔符应该更新为正确的语言之一。
<TextBlock>
<Run Text="0.001" />
<Run Text=" " />
...
</TextBlock>
这应该是极其琐碎的,我认为StringFormat应该适合的需要,但正如我所说,我不能让它工作。谢谢你的帮助
**解决方案:**感谢@Corentin Pane为我指出解决方案,正如他所说,我需要声明值
<TextBlock>
<TextBlock.Resources>
<system:Double x:Key="MinValue">0.001</system:Double>
</TextBlock.Resources>
<Run Text="{Binding Source={StaticResource MinValue}, Mode=OneTime, StringFormat='N3', ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}}" />
<Run Text=" " />
...
</TextBlock>
2条答案
按热度按时间nszi6y051#
如果您希望WPF适当地格式化您的数字,则它应该是从开头开始的数字(如
double
),而不是硬编码字符串(如"0.001"
)。您可以使用到静态资源的绑定:具有下列命名空间:
现在你可以考虑一下格式了,正如注解中所述,this thread提供了一些提示。例如,你可以将
Binding
更改为:并且添设了
声明。
q3qa4bjr2#
我有一个真实的例子,它输出“XXXXX from $0.00 to YYYY”作为工具提示。这有点复杂,因为它显示了前导和尾随文本,并使用了带有静态/常量的转换器。
背景:
编码:
总的来说,我建议通过在绑定中添加额外的Mode=“OneWay”来稍微改进可接受的答案,因为它是一个静态数字。