Silverlight 多语言

由于是第一次接触Silverlight,各种不解释,走了不少弯路。

1 如何向基于 Silverlight 的应用程序添加资源

http://msdn.microsoft.com/zh-cn/library/dd941931(v=vs.95).aspx

2 运行时切换语言

   

if (e.InitParams.Keys.Contains(this.textLanguage) && !string.IsNullOrEmpty(e.InitParams[this.textLanguage])) 

{ 

var l_language = e.InitParams[textLanguage]; 

var l_culture = new System.Globalization.CultureInfo(l_language); 

Thread.CurrentThread.CurrentCulture = l_culture; 

Thread.CurrentThread.CurrentUICulture = l_culture; 

}      

        

3 xaml页面绑定

3.1 增加一个帮助类

public class LocalizedStrings 

{ 

public LocalizedStrings() 

{ 

} 

private static Resources.FileUploadResource fileUploadResource = new Resources.FileUploadResource(); 

public Resources.FileUploadResource ResourceString { get { return fileUploadResource; } } 

} 

3.2 xaml中资源文件的初始化


<application.resources>

<local:LocalizedStrings xmlns:local="clr-namespace:Don.FileUpload" x:Key="LocalizedStrings" />

</application.resources>

3.3 绑定文本区域


<textblock style="{staticresource textstyle}" text="{Binding Path=ResourceString.TextName, Source={StaticResource LocalizedStrings}}"/>

<textblock style="{staticresource textstyle}" text="{Binding Path=ResourceString.TextStatus, Source={StaticResource LocalizedStrings}}"/>

<textblock style="{staticresource textstyle}" text="{Binding Path=ResourceString.TextSize, Source={StaticResource LocalizedStrings}}"/>

<textblock style="{staticresource textstyle}" text="{Binding Path=ResourceString.TextProgress, Source={StaticResource LocalizedStrings}}"/>

4 相关的帮助页面:

http://msdn.microsoft.com/zh-cn/library/dd882554(v=vs.95).aspx

http://archive.msdn.microsoft.com/mag201103Localizatio/Release/ProjectReleases.aspx?ReleaseId=5510

http://msdn.microsoft.com/library/cc838238(VS.95)

http://blog.joycode.com/vbcti/archives/2011/06/10/116284.joy

你可能感兴趣的:(silverlight)