wpf - TimeSpan 的 MultiBinding StringFormat

我这辈子都做不到。我需要从文本 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/

相关文章:

visual-studio - Visual Studio : Debugging Chrome w

perl - perl中散列的散列问题

winforms - 使用 Windows 窗体创建棋盘

css - float : left; Not working in IE?

java - 为什么我们不能将实例变量传递给父类(super class)构造函数?

oracle - 在 Oracle 中使用索引反转字符串

iphone - UITableView 中图像的圆角矩形/圆角

jquery - 你如何使用 jquery 将一个下拉列表的选项复制到另一个下拉列表

php - 如何在 PHP 中设置环境变量?

php - 使用php获取字符串的一部分