用于格式化Double值的XAML StringFormat

时间:2009-07-29 17:18:53

标签: c# wpf xaml

我想将滑块值格式化为00:00格式。下面的代码对我有用,但我想要的是00:00格式。我正在寻找一个完整的XAML解决方案。我知道我可以轻松地编写一个转换器,但想知道是否有任何StringFormat方法来实现它。

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

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

3 个答案:

答案 0 :(得分: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}}" />

答案 1 :(得分:2)

您可以像使用常规C#代码一样使用StringFormat中的默认String格式选项。看看this page,你可能会找到你需要的东西。

答案 2 :(得分:2)

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