MultiBinding StringFormat of TimeSpan



我一辈子都无法做到这一点。我需要在文本块中显示一对时间跨度对象的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>

文本块显示为空白。我也尝试了以下相同的结果:

<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

相关内容

  • 没有找到相关文章

最新更新