2012-02-21 139 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