XAML StringFormat用于格式化Double值

6

我想将我的滑块值格式化为00:00格式。下面的代码可以工作,但我想要的是00:00格式。我正在寻找一个完整的XAML解决方案。我知道我可以很容易地编写一个转换器来实现这个功能,但不知是否有任何StringFormat的方法可以实现。

Text="{Binding Value, ElementName=slider,StringFormat=\{0:00.00\}}" 

我的问题是如何获得冒号 ':' 而不是点 '.' ?

3个回答

11
如果您只想在格式字符串中插入一个 : 符号,则需要使用反斜杠进行转义:
Text="{Binding Value, ElementName=slider,StringFormat=\{0:00\\:00\}}"

但我认为这就是您想要做的事情:

<Slider Name="slider" Width="500" Height="30" Maximum="100" Minimum="0" />
<TextBlock Text="{Binding Path=Value, ElementName=slider, StringFormat={}{0:00\\:00}}" />

2

我认为没有真正的解决方案,但如果您可以将滑块值乘以100,则可以使用00:00作为您的格式字符串。


2
你可以在StringFormat中使用默认的字符串格式选项,就像在常规的C#代码中一样。请查看此页面,您可能会找到所需的内容。

谢谢,但我知道我可以使用任何字符串格式表达式。但是我无法找到冒号“:”的解决方案。因为双精度值格式化期望在某个地方有一个点“。”。 - Jobi Joy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接