91手机视频在线-91手机视频在线观看-91手机在线-91手机在线播放-91手机在线观看

完善主體資料,免費贈送VIP會員!
* 主體類型
* 企業名稱
* 信用代碼
* 所在行業
* 企業規模
* 所在職位
* 姓名
* 所在行業
* 學歷
* 工作性質
請先選擇行業
您還可以選擇以下福利:
行業福利,領完即止!

下載app免費領取會員

NULL

ad.jpg

二次開發教程:WPF 使用net 資源多語言

發布于:2019-08-23 17:01:54

網友投稿

更多

在WPF 用。net資源做多語言話的話,如果不要求動態切換可以在Xaml里直接使用Resource,在使用之前設置一下CultureInfo就可以了


如:


        public MainWindow()

        {

            Res.Culture = CultureInfo.GetCultureInfo("en-US");

            InitializeComponent();

        }




如果要動態切換的話可以使用擴展標記:


    public class LanguageUtils : MarkupExtension,INotifyPropertyChanged

    {

        private static ResourceManager manager = Res.ResourceManager;


        private static EventHandler<EventArgs> LanguageChangeEvent;


        public static void SetLanguage(string culture)

        {

            Res.Culture =new CultureInfo(culture);

            if (LanguageChangeEvent != null)

                LanguageChangeEvent(null, null);

        }



        static LanguageUtils()

        {

           // Res.Culture = new CultureInfo("en-US");

        }

        public LanguageUtils()

        {

            LanguageChangeEvent += LanguageChanged;

        }



        private void LanguageChanged(object sender, EventArgs e)

        {

            RaisePropertyChanged();

        }



        public string Key

        {

            get;

            set;

        }



        public string Value

        {

            get

            {

                return manager.GetString(Key, Res.Culture);

            }

        }


        public event PropertyChangedEventHandler PropertyChanged;


        private void RaisePropertyChanged()

        {

            if(PropertyChanged!=null)

            {

                PropertyChanged(this, new PropertyChangedEventArgs("Value"));

            }

        }



        public override object ProvideValue(IServiceProvider serviceProvider)

        {

            IProvideValueTarget target = serviceProvider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget;

            FrameworkElement elm = target.TargetObject as FrameworkElement;

            Binding binding = new Binding("Value")

            {

                Source = this,

                Mode = BindingMode.OneWay

            };

            object obj = binding.ProvideValue(serviceProvider);

            return obj;

        }

    }


在xaml里:


<Button Content="{local:LanguageUtils Key=String1}" HorizontalAlignment="Left" Margin="183,132,0,0" VerticalAlignment="Top" Width="212" Click="Button_Click"/>




切換事件:


        private void Button_Click(object sender, RoutedEventArgs e)

        {

            if(Res.Culture.Name=="zh-CN")

                LanguageUtils.SetLanguage("en-US");

            else

                LanguageUtils.SetLanguage("zh-CN");

        }


本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

未標題-1.jpg

上一篇:二次開發教程:C#鍵盤鉤子

下一篇:二次開發教程:Revit開發獲取梁的寬和高

主站蜘蛛池模板: 激情综合色五月丁香六月亚洲 | 成在线人免费视频一区二区三区 | 国产美女91视频 | 国内自拍网红在线综合 | 日本黄大片视频在线播放 | 日本乱人伦片中文三区 | 小明永久2015xxx免费看视频 | 国产成人免费高清激情视频 | 亚洲欧美一区二区三区久本道 | 中文字幕在线综合 | 久久精品国产免费看久久精品 | 色婷婷中文网 | 大象焦伊人久久综合网色视 | 欧美黄色大片免费观看 | 日韩电影免费在线观看中文字幕 | 国产91中文剧情在线观看 | 欧美激情一区二区三级高清视频 | 欧美激情一区二区三区不卡 | 欧美曰韩一区二区三区 | 91久久国产口精品久久久久 | 日韩亚洲制服丝袜中文字幕 | 国产观看精品一区二区三区 | 五月一区二区久久综合天堂 | 九九国产精品九九 | 伊人久久精品亚洲精品一区 | 日本黄大片影院一区二区 | 黄色 在线 | 亚洲人交性视频 | 日本三级a做爰视频东爱 | 国产一区二区三区在线免费 | 农村妇女野外牲交一级毛片 | 麻豆精品免费视频入口 | 精品视频在线免费 | 黄在线视频 | 国产精品对白刺激久久久 | 狠狠色丁香九九婷婷综合五月 | 亚洲国产精品看片在线观看 | 婷婷亚洲综合五月天小说在线 | 亚洲一区亚洲二区 | 日本在线毛片视频免费看 | 亚洲综合伦理一区 |