更改文化时,DatePicker不会更新

时间:2013-02-27 17:28:04

标签: c# wpf datepicker

我有一个可以改变文化的应用程序。但是,当我实际更改它时,所述应用程序中的日期选择器不会更改其日期格式。我试图隐藏它们然后重新显示它们。这不起作用。

有人可以帮忙吗?

代码:

CultureInfo ci = new CultureInfo(Thread.CurrentThread.CurrentCulture.ToString());
ci.DateTimeFormat.ShortDatePattern = SomeClass.isDDMM ? "dd/MM/yy" : "MM/dd/yy";
Thread.CurrentThread.CurrentCulture = ci;

1 个答案:

答案 0 :(得分:2)

在更改当前文化时,DatePicker似乎存在某种问题。它不会立即正确刷新值,但是当您将其聚焦并再次从中移除焦点时,将应用新的日期格式。

我发现解决这个问题的唯一方法是:

var date = t.SelectedDate;
t.SelectedDate = null;
t.SelectedDate = date;

这不是很优雅,但应该可以正常工作。

这个小程序显示了单击按钮时格式的变化情况。 XAML只包含一个名为DatePicker的{​​{1}}和一个按钮。

dtp