3
我有一個組合應用程序,它具有一個Shell窗口並具有一些模塊,每個模塊都使用MEF(Microsfot Prism)加載到外殼。 Shell本身有一個資源文件默認(Resource.resx)和其他語言(如Resource.ar-SA.resx)也用於支持Localilzation。XAML無法從Resx文件中讀取值
- XAML的:我已經使用
x:Static Resource.KeyName
- 在C#代碼:我用了
GetString(keyName, culture)
獲得所需要的字符串。
支持本地化,我已經添加了一行代碼,獲取系統當前的文化,並加載所需的RESX文件。 設置當前的文化。
Resource.Culture =
new System.Globalization.CultureInfo(System.Globalization.CultureInfo.CurrentCulture.Name);
在App.Xaml.cs
所有這些工作完全沒問題。
類似地,使用MEF加載的每個模塊都具有如上所述的資源文件。但是對於模塊,Xaml中爲特定語言文件定義的資源鍵不起作用。它總是從Default(Resource.Resx)文件中獲取值。但是在使用ResourceManager類的代碼中使用的任何鍵都可以正常工作。