2012-02-21 151 views
1

我已经开始使用WPF本地化扩展来为WPF项目本地化我的资源。我喜欢这个库,因为它可以轻松找到XAML代码中的资源。如何使用WPF本地化扩展本地化资源?

当我想使用库来本地化C#中的资源时,我遇到了一些问题。对于MessageBar(设计为WPF中的UserControl),我想在C#代码(ViewModel)中设置显示的消息。本地化的字符串存储在资源文件中(与我在XAML中用于本地化字符串的文件相同)。

现在我的问题,我怎样才能本地化我的资源在C#代码使用WPF本地化扩展?最佳做法是什么?

回答

0

您可以使用此代码访问您的字符串值。

public static string GetUIString(string key) 
{ 
     string uiString; 
     LocTextExtension locExtension = new LocTextExtension(key); 
     locExtension.ResolveLocalizedValue(out uiString); 
     return uiString; 
} 

将此方法声明为可供所有其他类访问的位置。然后在你需要资源字符串并通过资源密钥的地方调用它。

+0

我已经试过了。在我看来,这不是一个好方法。首先,我必须输入我的资源修复程序的密钥作为字符串。其次,我必须使用out参数将我定位的字符串存储在变量中。有没有其他方式来本地化我的资源的C#代码? – 2012-02-21 18:41:36