我们正在使用动态绑定到DataTable的WPF GridView(这反过来又是数据库查询的直接结果)。这基本上可以正常工作,并显示数据库查询的结果在一个漂亮的表中。
现在问题是某些结果包含DateTime列,显示的日期始终采用美国格式,而不是用户指定的日期格式。
是否有一种简单的方法可以为GridView显示设置日期时间格式?
我们事先不知道哪些列是DateTime,因为显示了许多不同的表。
我们填写gridview的方式如下:
MyListView.DataContext = data;
MyListView.SetBinding(ListView.ItemsSourceProperty, new Binding());
MyGridView.Columns.Clear();
foreach (DataColumn col in data.Columns)
{
GridViewColumn gvcol = new GridViewColumn();
gvcol.Header = col.ColumnName;
gvcol.DisplayMemberBinding = new Binding(col.ColumnName);
MyGridView.Columns.Add(gvcol);
}
答案 0 :(得分:2)
将当前文化放在应用程序启动中应该足够了
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
public App()
{
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
}
}