1 去官网下载 resx manager 然后安装到vs上
2 新增语言简体中文
3 新建文件夹 langs 在下面新建 resourcelangs 资源
4 打开下载的工具 左键选择刚刚新建的资源 然后新增键 如下所示
5 在 langs 下新建 AppSources 类 定义如下:
public class AppResources : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public static AppResources Current
{
get;
private set;
}
public HoldProgram.Langs.ResourceLang Resources { get; set; }
public AppResources()
{
Current = this;
Resources = new HoldProgram.Langs.ResourceLang();
Language = "zh-cn"; //-------中文
}
#region 改变语言
public void ChangeCulture(System.Globalization.CultureInfo cultureInfo)
{
Thread.CurrentThread.CurrentUICulture = cultureInfo;
Thread.CurrentThread.CurrentCulture = cultureInfo;
HoldProgram.Langs.ResourceLang.Culture = cultureInfo;
if (Current != null)
{
Current.RaisePropertyChanged();
}
}
#endregion
#region 变量
private string _language;
public string Language
{
get { return _language; }
set
{
if (_language == value)
{
return;
}
_language = value;
var cultureInfo = new CultureInfo(value);
Thread.CurrentThread.CurrentUICulture = cultureInfo;
Thread.CurrentThread.CurrentCulture = cultureInfo;
HoldProgram.Langs.ResourceLang.Culture = cultureInfo;
RaisePropertyChanged();
}
}
#endregion
public void RaisePropertyChanged()
{
PropertyChanged?.Invoke(this,new PropertyChangedEventArgs(""));
}
}
6 在 app.xaml 中 写:
7 调用
Content="{Binding Resources.xml_btnDeleteDataByIndex, Source={StaticResource R}}"
8 语言切换
int index = comboBox.SelectedIndex;
switch(index)
{
case 0:
Langs.AppResources.Current.Language = "zh-CN";
break;
case 1:
Langs.AppResources.Current.Language = "en-us";
break;
}



