Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
420 views
in Technique[技术] by (71.8m points)

c# - Detect system language change in WPF

We can use following code to know when the system language change in Windows Form - Form.InputLanguageChanged:

string _language = "";
InputLanguageChanged += new InputLanguageChangedEventHandler( (sender, e) =>
{
      language = InputLanguage.CurrentInputLanguage.LayoutName;
});

What is WPF equivalent of Form.InputLanguageChanged?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use the code as follow to detect keyboard language change in WPF

string language = "";
System.Windows.Input.InputLanguageManager.Current.InputLanguageChanged += 
       new    InputLanguageEventHandler((sender, e) =>
{
   language = e.NewLanguage.DisplayName;
}); 

Note: there is no need to detect system UI language change as it requires logoff/logon which in turn will force all applications to restart (Check Hans Passant comment for How To Detect Language Changes While Runtime ? (C#)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...