【问题标题】:XAML StringFormat to format a Double valueXAML StringFormat 格式化一个 Double 值
【发布时间】:2009-07-29 17:18:53
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    如果您只想在格式字符串中添加一个: 符号,那么您可以使用反斜杠对其进行转义:

    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】:

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

      【讨论】:

      • 谢谢,但我知道我可以使用任何字符串格式表达式。但无法获得冒号“:”的解决方案,因为双值格式需要一个点“。”某处。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2018-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 2011-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多