Tôi không phải chuyên gia trong định dạng TimeSpan
vì vậy tôi không thể nói cho bạn biết chính xác lý do tại sao họ tạo ra kết quả tương tự nhưng bạn có thể đọc lên về nó ở đây: Custom TimeSpan Format Strings
Tất nhiên mỗi người không làm việc trên cai khac.
Chúng hoạt động theo cùng một cách, điều chỉ là bạn nên sử dụng một dấu gạch chéo ngược trong dấu ngoặc kép. Sau đây
<Binding Path="MinTime"
StringFormat="hh\\:mm\\:ss"
TargetNullValue=" --- "/>
cho ra hh\\\\:mm\\\\:ss
. Vì vậy, thay vào đó bạn nên viết
<Binding Path="MinTime"
StringFormat="hh\:mm\:ss"
TargetNullValue=" --- "/>
Sau đây hai Bindings
nên sản xuất cùng một kết quả
<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>
Và vì thế nên sau hai
<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>
Nguồn
2011-10-02 16:26:38
Mmmmm, tôi sẽ nói rằng tôi đã thử \ : nhưng bây giờ tôi đã cố gắng một lần nữa và làm việc của nó ... lạ ... cảm ơn anyway. –
@SoMos: Vâng tôi biết, nó vui vẻ :) –