最爱贵公子,都市鬼道士,千名
使用 resx 文件,可以动态切换语言,
新建lang.zh-cn.resx lang.en-us.resx 资源文件
新建空类lang.cs
新建如下类:
public class languagemanager : inotifypropertychanged { private readonly resourcemanager _resourcemanager; private static readonly lazy<languagemanager> _lazy = new lazy<languagemanager>(() => new languagemanager()); public static languagemanager instance => _lazy.value; public event propertychangedeventhandler propertychanged; private languagemanager() { _resourcemanager = new resourcemanager(typeof(lang)); } public string this[string name] { get { if (name == null) { throw new argumentnullexception(nameof(name)); } return _resourcemanager.getstring(name); } } public void changelanguage(cultureinfo cultureinfo) { cultureinfo.currentculture = cultureinfo; cultureinfo.currentuiculture = cultureinfo; propertychanged?.invoke(this, new propertychangedeventargs("item[]")); } }
使用方法:
<textblock fontsize="20" margin="10" text="{binding [string1], source={x:static local:languagemanager.instance}}"/>
切换语言:
languagemanager.instance.changelanguage(new cultureinfo("zh-cn"));
源码已上传至gitgub
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论