Silverlight4 多語(yǔ)言實(shí)現(xiàn)的方法
1:在項(xiàng)目中新建文件夾“Resouce”,然后再該文件夾下面新增資源文件“AppString.resx”,如果創(chuàng)建一個(gè)AppString.resx副本,把文件名改為對(duì)應(yīng)的語(yǔ)言名稱(chēng),
如AppString.en-US.resx。,并且把AppString.resx的訪問(wèn)修飾符改為Public
2:打開(kāi)AppString.resx的cs文件,查看類(lèi)的訪問(wèn)修飾符是否Public,如果不是,則改為Public。
3:打開(kāi)App.xmal文件,添加以下代碼,目的是用于其它的頁(yè)面綁定字符內(nèi)容的資源文件。

4:然后再其它頁(yè)面就可以使用這個(gè)資源文件了,我這里用了三種語(yǔ)言

5:接下來(lái)就是語(yǔ)言切換了,我用的是本地存儲(chǔ)的方式來(lái)保存用戶(hù)選擇的語(yǔ)言,新建一個(gè)類(lèi)來(lái)專(zhuān)門(mén)負(fù)責(zé)讀取當(dāng)前用戶(hù)選擇的語(yǔ)言。
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:最后是應(yīng)用程序啟動(dòng)的代碼,也就是讀取用戶(hù)保存的語(yǔ)言。在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();
}
注意:按下切換按鈕后要重新登錄應(yīng)用程序才能看到效果,并不是即使切換。

相關(guān)文章
asp.net實(shí)現(xiàn)識(shí)別客戶(hù)端瀏覽器或操作系統(tǒng)
這里給大家匯總了使用asp.net實(shí)現(xiàn)識(shí)別客戶(hù)端瀏覽器或操作系統(tǒng)的方法和示例代碼,有需要的小伙伴可以參考下。2015-10-10
asp.net 驗(yàn)證碼的簡(jiǎn)單制作(vb.net+C#)
asp.net中實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼的方法,需要的朋友可以參考下2012-05-05
ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)資料的修改和刪除3(七)
這篇文章主要為大家詳細(xì)介紹了ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)資料的修改和刪除,感興趣的小伙伴們可以參考一下2016-08-08
MVC4制作網(wǎng)站教程第三章 瀏覽用戶(hù)組操作3.1
這篇文章主要為大家詳細(xì)介紹了MVC4制作網(wǎng)站教程,瀏覽用戶(hù)組功能的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
ASP.NET 實(shí)現(xiàn)驗(yàn)證碼以及刷新驗(yàn)證碼的小例子
這篇文章介紹了ASP.NET 實(shí)現(xiàn)驗(yàn)證碼以及刷新驗(yàn)證碼的小例子,有需要的朋友可以參考一下2013-10-10
總結(jié)ASP.NET C#中經(jīng)常用到的13個(gè)JS腳本代碼
本文總結(jié)了ASP.NET C#在實(shí)際開(kāi)發(fā)過(guò)程中13個(gè)JS腳本代碼,方便大家在開(kāi)發(fā)中使用,希望對(duì)大家有用。2016-04-04
看到本質(zhì)而不是現(xiàn)象--解決ASP.NET CS0016的問(wèn)題
看到本質(zhì)而不是現(xiàn)象--解決ASP.NET CS0016的問(wèn)題...2007-01-01

