2

私は一生これを機能させることはできません。テキストブロック内の 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 つの部分から構築できると思いますが、それは適切ではありません。どんな助けでも大歓迎です。

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 に答える