Silverlight 4アプリケーションがあります。 UIにバインドしているC#DateTimeオブジェクトがあります。このDateTimeをdd/mm/yyyy
time(TimeZone)の形式にする必要があります。たとえば、今日は次のように表示されます
04/07/2011 at 01:13 p.m. (EST)
これを行う方法はありますかXAML
?または、コンバーターを構築する必要がありますか?
<TextBlock Text="{Binding Date, StringFormat='{}{0:MM/dd/yyyy a\\t h:mm tt}'}" />
あなたを返します
04/07/2011 at 1:28 PM(-04)
Silverlight 4で StringFormat を使用して、バインドする値のカスタム形式を提供できます。
日付の書式設定には幅広いオプションがあります。
「2004年4月17日午後1時52分45秒」の日時
一連の標準形式(標準形式)を使用できます…
StringFormat=f : “Saturday, April 17, 2004 1:52 PM”
StringFormat=g : “4/17/2004 1:52 PM”
StringFormat=m : “April 17”
StringFormat=y : “April, 2004”
StringFormat=t : “1:52 PM”
StringFormat=u : “2004-04-17 13:52:45Z”
StringFormat=o : “2004-04-17T13:52:45.0000000”
…または、文字を使用して独自の日付形式を作成できます(カスタム形式)
StringFormat=’MM/dd/yy’ : “04/17/04”
StringFormat=’MMMM dd, yyyy g’ : “April 17, 2004 A.D.”
StringFormat=’hh:mm:ss.fff tt’ : “01:52:45.000 PM”
また、ちょうどを使用することができます
StringFormat=d
日時を表示するためのデータグリッド列
最後になります
<sdk:DataGridTextColumn Binding="{Binding Path=DeliveryDate,StringFormat=d}" Header="Delivery date" Width="*" />
出力は次のようになります
C#:これを試してください
次のようなデリミターを使用します。
SL5で、これが機能することがわかりました。
<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat=dd-MMMM-yy hh:mm}">
<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat='Justification Date: \{0:dd-MMMM-yy hh:mm\}'}">