栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

c#利用resx manager 切换中英文

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c#利用resx manager 切换中英文

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;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号