gpt4 book ai didi

c# - 格式化 MultiBinding TimeSpan 以隐藏毫秒

转载 作者:行者123 更新时间:2023-11-30 17:01:49 25 4
gpt4 key购买 nike

我目前正在尝试将 WPF TextBlock 多重绑定(bind)到 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 时不起作用(例如:<MultiBinding StringFormat="Total runtime: {0:hh\\:mm\\:ss}">)。

我应该如何构造我的 StringFormat?

最佳答案

<MultiBinding StringFormat="Total runtime: {0:hh\:mm\:ss}">
<Binding Path="ImportOperationRuntime"/>
</MultiBinding>

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

关于c# - 格式化 MultiBinding TimeSpan 以隐藏毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com