TimeSpan的MultiBinding StringFormat

时间:2011-06-30 15:55:24

标签: wpf xaml timespan multibinding string-formatting

我不能为我的生活让这个工作。我需要从文本块中的一对时空对象中显示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个部分来构建它,但这感觉不对。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:8)

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