我有一个可以改变文化的应用程序。但是,当我实际更改它时,所述应用程序中的日期选择器不会更改其日期格式。我试图隐藏它们然后重新显示它们。这不起作用。
有人可以帮忙吗?
代码:
CultureInfo ci = new CultureInfo(Thread.CurrentThread.CurrentCulture.ToString());
ci.DateTimeFormat.ShortDatePattern = SomeClass.isDDMM ? "dd/MM/yy" : "MM/dd/yy";
Thread.CurrentThread.CurrentCulture = ci;
答案 0 :(得分:2)
在更改当前文化时,DatePicker
似乎存在某种问题。它不会立即正确刷新值,但是当您将其聚焦并再次从中移除焦点时,将应用新的日期格式。
我发现解决这个问题的唯一方法是:
var date = t.SelectedDate;
t.SelectedDate = null;
t.SelectedDate = date;
这不是很优雅,但应该可以正常工作。
这个小程序显示了单击按钮时格式的变化情况。
XAML只包含一个名为DatePicker
的{{1}}和一个按钮。
dtp