我有一个 XAML 页面,其中一个 ListBox 绑定到客户对象的集合。Customer 类有一个 CreatedDate 属性,该属性绑定到 ListBoxItem 模板中的 TextBox。出于某种原因,日期以美国格式显示(我在英国),尽管将这个已知修复添加到 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>
这似乎是问题所在。如果我使用普通而不是构造(即<TextBlock Text="{Binding CreatedDate}"/>
)绑定 CreatedDate,它的格式正确。为什么会这样?它是 Inlines 元素的错误吗?