我在格式化TimeSpan
沒有專家,所以我不能告訴你到底它們爲什麼會產生相同的結果,但你可以約在這裏讀了起來:Custom TimeSpan Format Strings
當然每一個不工作的另一個。
它們的工作原理是一樣的,只是你應該在雙引號內使用一個反斜槓。以下
<Binding Path="MinTime"
StringFormat="hh\\:mm\\:ss"
TargetNullValue=" --- "/>
出來hh\\\\:mm\\\\:ss
。因此,你應該寫
<Binding Path="MinTime"
StringFormat="hh\:mm\:ss"
TargetNullValue=" --- "/>
以下兩個Bindings
應產生相同的結果
<DataGridTextColumn Header="Max Time" IsReadOnly="True"
Binding="{Binding Path=MaxTime,
StringFormat=hh\\:mm\\:ss,
TargetNullValue=' --- '}"/>
<DataGridTextColumn Header="Min Time" IsReadOnly="True">
<DataGridTextColumn.Binding>
<Binding Path="MinTime"
StringFormat="hh\:mm\:ss"
TargetNullValue=" --- "/>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
,因此應該在以下兩個
<DataGridTextColumn Header="Max Time" IsReadOnly="True"
Binding="{Binding Path=MaxTime,
StringFormat={}{0:hh':'mm':'ss},
TargetNullValue=' --- '}"/>
<DataGridTextColumn Header="Min Time" IsReadOnly="True">
<DataGridTextColumn.Binding>
<Binding Path="MinTime"
StringFormat="{}{0:hh':'mm':'ss}"
TargetNullValue=" --- "/>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
MMMMM,我要說的是,我試過\ :但現在我再試一次,它的工作......怪異......謝謝。 –
@SoMos:是的,我知道,它發生了:) –