WPF DatePicker日期不随文化切换

时间:2016-08-23 08:41:28

标签: c# wpf datepicker localization

我实际上找到了this,但是就像OP说的那样,它是一个黑客的解决方案,就像选票说不是一个漂亮的解决方案。我的程序有一个窗口。

我有一个有两种可能文化的用户界面,de-DE和en-US,以及一个切换语言的按钮。

当我按下该按钮时,每个文本都会发生变化,只有DatePickers文本框中的文本没有,直到我点击DatePickers按钮,然后它将显示的日期更改为正确的格式(并打开DatePicker弹出窗口)

如何使用该语言显示日期切换?我是否可以使用一些wpf选项来更新显示的日期?

仅绑定它是SelectedDate="{Binding Path=FileDate, Mode=TwoWay},到目前为止效果很好。

我尝试在语言切换时执行以下操作,但它不会更改文本:

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo((string)getSetting("Language"));
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo((string)getSetting("Language"));
FileDate = FileDate; //This one Notifies about the propertychange, so I hoped it would refresh the text.

2 个答案:

答案 0 :(得分:0)

好的,所以我得到了另一个想法,它效果很好,感觉不像是黑客,而且很容易做到:

当切换语言时,除了设置CurrentCulture和CurrentUICulture之外,我去

FileDate = DateTime.Now;

这显然使得DatePicker意识到文化已经发生了变化。

答案 1 :(得分:0)

除了回答squirrelkiller外,我还要提到DatePicker(.net 4.6.1)也不会自动采用CurrentUICulture.DateTimeFormat.FirstDayOfWeek。必须分别为每个Datepicker实例设置它。我也发布了此here