检测WPF中的系统语言更改
我们可以使用以下代码来了解Windows窗体中系统语言何时发生更改 – Form.InputLanguageChanged :
string _language = ""; InputLanguageChanged += new InputLanguageChangedEventHandler( (sender, e) => { language = InputLanguage.CurrentInputLanguage.LayoutName; });
什么是WPF相当于Form.InputLanguageChanged
?
您可以使用以下代码检测WPF中的键盘语言更改
string language = ""; System.Windows.Input.InputLanguageManager.Current.InputLanguageChanged += new InputLanguageEventHandler((sender, e) => { language = e.NewLanguage.DisplayName; });
注意:不需要检测系统UI语言更改,因为它需要注销/登录,这反过来将强制所有应用程序重新启动(检查Hans Passant对如何在运行时检测语言更改的注释?(C#)
希望这有帮助。 您必须使用InputLanguageManager.InputLanguageChanging事件 ,该事件在启动输入语言更改时发生。 它应该如下。
InputLanguageManager.Current.InputLanguageChanged += new InputLanguageEventHandler(Current_InputLanguageChanged);
这里有更多我觉得有趣的细节。 WPF本地化 – 即时语言选择
- 不同的应用程序设置取决于配置模式
- 服务器客户端发送/接收简单文本
- 如何获取XP,Vist和7中的所有用户帐户名,32位或64位以及任何操作系统语言
- BufferNotEnough无法创建SSL / TLS安全通道
- 以横向打印图像?
- 在身份validation过程中,ApplicationSignInManager类为null
- 在WPF中运行时调整TextBox的大小
- 为什么后台线程中未处理的exception不会导致应用程序域崩溃?
- NHibernate.Mapping.ByCode.Conformist.ClassMapping和FluentNHibernate.Mapping.ClassMap有什么区别?