当前位置: 首页 > 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.wxhsa.cn/company.asp?id=1112

相关文章:

  • Shell 语法摘要
  • 软件设计师知识点总结(一)
  • 智能引擎驱动:DRS.Editor让汽车诊断设计效率跃升!
  • 【译】Visual Studio 2026 Insider 来了!
  • GAS_Aura-Granting Abilities
  • CH584 CH585 触摸应用介绍一
  • OpenEuler 24.03 (LTS-SP2)安装最新版本docker
  • 西门子SINAMICS S120伺服驱动系统介绍
  • 第10章 STM32 模拟SPI电阻屏触摸配置和测试
  • ABAP同步和异步
  • 202208_网鼎杯青龙组_CRYPTO
  • Oracle笔记:11GR2 datagruad 环境搭建BORKER
  • GAS_Aura-Gameplay Abilities
  • 可视化图解算法60:矩阵最长递增路径
  • 灵码产品演示:软件工程架构分析
  • 扩展 Min-Max 容斥
  • 北京市推进中小学人工智能教育工作方案(2025—2027年)
  • IvorySQL 适配 LoongArch 龙架构
  • Gitlab-ee v18.1.1 破解
  • MySQL查询助手!嘎嘎好用
  • 题解:P13979 数列分块入门 4
  • ICPC模拟赛#1
  • 从基础到实战:一文吃透 JS Tuples 与 Records 的所有核心用法
  • YOLO + OpenPLC + ARMxy:工业智能化视觉识别、边缘计算、工业控制的“三位一体”解决方案
  • NKOJ全TJ计划——NP4582
  • VibeCoding On Function AI Deep Dive:用 AI 应用生产 AI 应用
  • [题解] P13777 「o.OI R2」Meowalkane
  • Kubernetes Pod控制器
  • kingbase金仓数据库的用户权限管理
  • C++14之exchange