要实现的目标:checkbox选定什么语言,当前应用程序的文字就是这一门语言。
步骤如下:
- 参考现有的一个程序的代码,先定义资源文件。
如果只有一个按钮、一个文本、一个列表框的话
新建String
在这个文件夹下定义en-us,zh-cn
添加新建项,resw文件,文件中的属性与该语言对应的值如下:
- xaml中关联的时候使用x:UID关联
<TextBlock x:Uid="testLanguage_txtblock"
VerticalAlignment="Center"/>
然后,当前显示的是中文:
- 如何在后端写程序,选择english的时候切换成英文呢?
首先参考一个github网站:
https://github.com/microsoft/WindowsAppSDK/discussions/1404
protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
{
ApplicationLanguages.PrimaryLanguageOverride = "en-US";
m_window = new MainWindow();
m_window.Activate();
}
达到的效果:显示英文,必须要在最开始设置,如果设置在m_window = new MainWindow();
后边就不能显示英文了。
看的好多软件更改语言就是重启后生效,难道就是这一句话解决的事情嘛,,,,,
试了一下,好像真的可以解决,直接在改变的函数里加上这一句话,然后重启软件就ok了。
不知道会不会有什么隐藏的问题。