Silverlight4 多语言实现的方法_asp.net教程-查字典教程网
Silverlight4 多语言实现的方法
Silverlight4 多语言实现的方法
发布时间:2016-12-29 来源:查字典编辑
摘要:1:在项目中新建文件夹“Resouce”,然后再该文件夹下面新增资源文件“AppString.resx”,如果创建一个AppString.r...

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();

}

注意:按下切换按钮后要重新登录应用程序才能看到效果,并不是即使切换。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类