我这辈子都做不到。我需要从文本 block 中的一对时间跨度对象显示 hh:mm,但它无法正常工作。这是我目前所拥有的:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}From {0:hh\\:mm} to {1:hh\\:mm}">
<Binding Path="StartTime"/>
<Binding Path="EndTime"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
文本 block 显示为空白。我也尝试了以下相同的结果:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}From {0} to {1}">
<Binding Path="StartTime" StringFormat="hh\\:mm"/>
<Binding Path="EndTime" StringFormat="hh\\:mm"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
如果我的字符串格式为 hust "hh",那么我只得到小时数,所以我想我可以用 4 个部分构建它,但感觉不对。感谢您的帮助。
最佳答案
在格式字符串中使用 hh':'mm 似乎可行:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}From {0:hh':'mm} to {1:hh':'mm}">
<Binding Path="StartTime"/>
<Binding Path="EndTime"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
此外,这仅适用于 .NET 4
https://stackoverflow.com/questions/6537595/