微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight4 多语言实现的方法

1:在项目中新建文件夹“Resouce”,然后再该文件夹下面新增资源文件“AppString.resx”,如果创建一个AppString.resx副本,把文件名改为对应的语言名称,   如AppString.en-US.resx。,并且把AppString.resx的访问修饰符改为Public   2:打开AppString.resx的cs文件,查看类的访问修饰符是否Public,如果不是,则改为Public。   3:打开App.xmal文件添加以下代码,目的是用于其它的页面绑定字符内容的资源文件。   4:然后再其它页面就可以使用这个资源文件了,我这里用了三种语言   5:接下来就是语言切换了,我用的是本地存储的方式来保存用户选择的语言,新建一个类来专门负责读取当前用户选择的语言。   复制代码 代码如下:   public class Configure   {   static System.Globalization.CultureInfo currentCulture;   public static System.Globalization.CultureInfo CurrentCulture   {   get   {   if (currentCulture == null)   {   try   {   System.IO.IsolatedStorage.IsolatedStorageSettings appSetting = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings;   if (appSetting.Contains("language"))   {   currentCulture = new System.Globalization.CultureInfo((string)appSetting["language"]);   }   }   catch (Exception e)   {   }   }   if (currentCulture == null)   {   currentCulture = new System.Globalization.CultureInfo("en-us");   }   return currentCulture;   }   set   {   currentCulture = value;   System.Threading.Thread.CurrentThread.CurrentCulture = currentCulture;   System.Threading.Thread.CurrentThread.CurrentUICulture = currentCulture;   try   {   System.IO.IsolatedStorage.IsolatedStorageSettings appSetting = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings;   if (appSetting.Contains("language"))   {   appSetting["language"] = currentCulture.Name;   appSetting.Save();   }   else   {   appSetting.Add("language",currentCulture.Name);   }   }   catch (Exception e)   {   }   }   }   }   一下是“切换”按钮的代码   复制代码 代码如下:   private void button3_Click(object sender,RoutedEventArgs e)   {   Configure.CurrentCulture = new CultureInfo(comboBox1.SelectionBoxItem.ToString());   //if (Configure.CurrentCulture.Name == "zh-CN")   //{   //    Configure.CurrentCulture = new CultureInfo("en-US");   //}   //else   //    Configure.CurrentCulture = new CultureInfo("zh-CN");   }   6:最后是应用程序启动的代码,也就是读取用户保存的语言。在App.xmal.cs文件里,   复制代码 代码如下:   private void Application_Startup(object sender,StartupEventArgs e)   {   CultureInfo culture = Configure.CurrentCulture;   Thread.CurrentThread.CurrentUICulture = culture;   Thread.CurrentThread.CurrentCulture = culture;   this.RootVisual = new MainPage();   }   注意:按下切换按钮后要重新登录应用程序才能看到效果,并不是即使切换。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐