Customer オブジェクトのコレクションにバインドされた ListBox を含む XAML ページがあります。Customer クラスには、ListBoxItem テンプレート内の TextBox にバインドされた CreatedDate プロパティがあります。この既知の修正を App.xaml に追加したにもかかわらず、何らかの理由で日付が米国の形式で表示されます (私は英国にいます)。
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
ページの他の場所の日付は正しくフォーマットされています。何か案は?
更新:- ListBoxItem テンプレートの日付は次のように表示されています:-
<TextBlock>
<TextBlock.Inlines>
<Run Text="{Binding CreatedDate}"/>
...various other <Run elements ...
</TextBlock.Inlines>
</TextBlock>
ここに問題があるようです。コンストラクト (つまり ) ではなくプレーンを使用して CreatedDate をバインドすると、<TextBlock Text="{Binding CreatedDate}"/>
正しくフォーマットされます。これはなぜでしょうか?Inlines 要素のバグですか?