当前位置: 首页 > news >正文

[WPF学习笔记]多语言切换-001

1、VS2019新建项目

image

2、引入Nuget包

image

 

3、修改XML代码引入命名空间并设置

<Window x:Class="WPFMultiLanguageTest.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:lex="https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension"lex:LocalizeDictionary.DesignCulture="zh"lex:LocalizeDictionary.OutputMissingKeys="True"lex:ResxLocalizationProvider.DefaultAssembly="WPFMultiLanguageTest"lex:ResxLocalizationProvider.DefaultDictionary="LanguageResource"xmlns:local="clr-namespace:WPFMultiLanguageTest"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Grid><StackPanel Margin="5,10,5,5"><Button Content="{lex:BLoc 英语}" Width="200" Click="BtnChangeEnglish" Margin="5"/><Button Name="btnChinese" Content="中文" Width="200" Click="BtnChangeChinese" Margin="5"/></StackPanel></Grid>
</Window>

  

image

 4、后台语言切换代码如下

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using WPFMultiLanguageTest.LocalLanguage;namespace WPFMultiLanguageTest
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();WPFLocalizeExtension.Engine.LocalizeDictionary.Instance.Culture = new CultureInfo("zh");}private void BtnChangeEnglish(object sender, RoutedEventArgs e){WPFLocalizeExtension.Engine.LocalizeDictionary.Instance.Culture = new CultureInfo("en");MessageBox.Show("切换英语");btnChinese.Content = SysLan.Get("中文");}private void BtnChangeChinese(object sender, RoutedEventArgs e){WPFLocalizeExtension.Engine.LocalizeDictionary.Instance.Culture = new CultureInfo("zh");MessageBox.Show("切换中文");btnChinese.Content= SysLan.Get("中文");}}
}

  5、资源文件中添加所需资源的键值对信息

image

 

参考文章:WPFLocalizeExtension 多语言组件使用和原理及拓展 - YYAN1987 - 博客园,感谢作者的分享。

如果您有更多或更好的思路请多多指导我,本人还有很多需要学习的地方。

以上为本次学习的全部内容,谢谢阅读!

 

http://www.rkmt.cn/news/2418.html

相关文章:

  • 软件设计师知识点总结(一)
  • 【译】Visual Studio 2026 Insider 来了!
  • 西门子SINAMICS S120伺服驱动系统介绍
  • Oracle笔记:11GR2 datagruad 环境搭建BORKER
  • GAS_Aura-Gameplay Abilities
  • 可视化图解算法60:矩阵最长递增路径
  • MySQL查询助手!嘎嘎好用
  • 题解:P13979 数列分块入门 4
  • YOLO + OpenPLC + ARMxy:工业智能化视觉识别、边缘计算、工业控制的“三位一体”解决方案
  • NKOJ全TJ计划——NP4582
  • VibeCoding On Function AI Deep Dive:用 AI 应用生产 AI 应用
  • Kubernetes Pod控制器
  • kingbase金仓数据库的用户权限管理
  • POJ 3601 Subsequence
  • Logstash、Filebeat和Fluent比较
  • 剪映如何将草稿分享给别人?
  • 测试开发私教服务班4.0:大厂导师1对1带你突破职业瓶颈!
  • 【AP出版】第八届人文教育与社会科学国际学术会议(ICHESS 2025)
  • # 简单贪心题(greedy)
  • 免安装在线录屏神器推荐:纯前端屏幕录制工具使用指南
  • 锁相关记录
  • 第5讲 机器学习生态构成 - 详解
  • 当前流行的前端框架
  • 选择MyEMS:为什么开源是能源数字化未来的最佳路径?
  • 2025 Vue UI 组件库选型
  • FHQ-Treap
  • 什么是ARM架构?你需要知道的一切
  • 程序连接金仓数据库查询报错:ERROR:column r.id does not exist。字段不存在
  • mysql唯一索引,原理、创建与应用详解
  • redis查询和添加key的最简单方法