2

我一辈子都无法让它发挥作用。我需要从文本块中的一对时间跨度对象中显示 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 块来构建它,但这感觉不对。任何帮助表示赞赏。

4

1 回答 1

9

在格式字符串中使用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

于 2011-06-30T18:06:28.350 回答