【问题标题】:Formatting MultiBinding TimeSpan to hide milliseconds格式化 MultiBinding TimeSpan 以隐藏毫秒
【发布时间】:2013-12-13 21:25:16
【问题描述】:

我目前正在尝试将 WPF TextBlock 多重绑定到 TimeSpan 属性。

以下作品:

<TextBlock HorizontalAlignment="Right"
           VerticalAlignment="Center"
           Text="{Binding Path=ImportOperationRuntime, StringFormat='hh\\:mm\\:ss'}" />

不幸的是,使用 MultiBinding 会“破坏” StringFormat 并在旁边显示毫秒(尽管通过 StringFormat 隐藏)。以下这些不起作用:

<TextBlock Grid.Column="6" VerticalAlignment="Center">
    <TextBlock.Text>
        <MultiBinding StringFormat="Total runtime: {0}">
            <Binding Path="ImportOperationRuntime" StringFormat="hh':'mm':'ss" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

<TextBlock Grid.Column="6" VerticalAlignment="Center">
    <TextBlock.Text>
        <MultiBinding StringFormat="Total runtime: {0}">
            <Binding Path="ImportOperationRuntime" StringFormat="hh\:mm\:ss" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

<TextBlock Grid.Column="6" VerticalAlignment="Center">
    <TextBlock.Text>
        <MultiBinding StringFormat="Total runtime: {0}">
            <Binding Path="ImportOperationRuntime" StringFormat="hh\\:mm\\:ss" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

<TextBlock Grid.Column="6" VerticalAlignment="Center">
    <TextBlock.Text>
        <MultiBinding StringFormat="Total runtime: {0}">
            <Binding Path="ImportOperationRuntime" StringFormat="hh:mm:ss" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

在实际的 MultiBinding 中使用相同的 StringFormats 时不起作用(例如:&lt;MultiBinding StringFormat="Total runtime: {0:hh\\:mm\\:ss}"&gt;)。

我应该如何构建我的 StringFormat?

【问题讨论】:

    标签: c# wpf xaml timespan multibinding


    【解决方案1】:
    <MultiBinding StringFormat="Total runtime: {0:hh\:mm\:ss}">
        <Binding Path="ImportOperationRuntime"/>
    </MultiBinding>
    

    通常在您后面的代码中使用双反斜杠 \\ 进行转义。 xaml 中不是这种情况。一个就够了。

    【讨论】:

    • 就是这样,但是,@SeToY,您是否尝试过使用 VS 的绑定工具?它完美地放置了转义字符。
    • @Tico 我第一次听说 VS 绑定工具:D
    • 在属性选项卡中,点击属性左边的小方块,有一个创建绑定的选项,你可以在那里格式化。
    猜你喜欢
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2011-09-26
    • 2017-04-10
    • 2010-12-22
    • 1970-01-01
    相关资源
    最近更新 更多