C# WPF MVVM本地化失效求助:资源文件无法识别
C# WPF MVVM本地化功能实现问题
我尝试为C# WPF MVVM项目添加本地化功能,试了网上多种实现方案均未生效,核心问题是命名为lang.en-us.resx的资源文件无法被系统识别。
资源文件截图:
UserControl代码:
xmlns:lang="clr-namespace:tSeracherr.WPF.Languages"> <TextBlock Text="{x:Static lang:Lang.Home}" FontSize="28" Width="120" TextAlignment="Center" HorizontalAlignment="Center" Margin="5" Style="{DynamicResource TextBlockInListBox}"/>
第一种语言切换尝试(无效果):
public ICommand UkrLang { get { return ChangeLanguage("uk-uk"); } } private ICommand ChangeLanguage(string langCode) { return new DelegateCommand(obj => { var culture = new CultureInfo(langCode); Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; Process.Start(Process.GetCurrentProcess().MainModule.FileName); Application.Current.Shutdown(); }); }
第二种语言切换尝试(未完成,切换后仍为英文):
public ICommand UkrLang { get { return ChangeLanguage("uk-uk"); } } private ICommand ChangeLanguage(string langCode) { return new DelegateCommand(obj => { Properties.Settings.Default.LanguageCode = langCode; Properties.Settings.Default.Save(); // 不知道后续该写什么 Process.Start(Process.GetCurrentProcess().MainModule.FileName); Application.Current.Shutdown(); }); }
内容的提问来源于stack exchange,提问作者vasyleoo
相关产品推荐
相关产品推荐

