2016-03-02 53 views
0

我正在寫一個應用程序,其中的文本塊可以用不同的語言顯示註釋。我試圖使用我真正不理解的「文化」。在WPF中使用文化訪問資源文件C#

enter image description here

我跟了幾部影片,但仍然得到那麼同樣的錯誤信息:

enter image description here

以下是我已經添加了命名空間:

using System.Reflection; 
    using System.Globalization; 
    using System.Resources; 

我只是在添加switch語句之前測試概念:

 CultureInfo cult = CultureInfo.CreateSpecificCulture("en"); 

     Assembly lingua = Assembly.Load("Bailing Calculator"); 

     ResourceManager rm = new ResourceManager("Bailing Calculator.Resources.Res", lingua); 

     tbkPHDiameter.Text = rm.GetString("phDia", cult); 

我只是沒有給ResourceManager的正確路徑?感謝接下來的教育衝擊!

enter image description here

回答

0

更新你的代碼看起來像:

CultureInfo cult = CultureInfo.CreateSpecificCulture("en-US"); 

    Assembly lingua = Assembly.Load("Bailing Calculator"); 
    ResourceManager rm = new ResourceManager(string.Format("Bailing_Calculator.Resources.{0}",cult.Name), lingua); 
tbkPHDiameter.Text = rm.GetString("phDia"); 

和更新資源文件名是你的目標文化名: 這樣的文件名變成的樣子:en-US

+0

我有複製和粘貼您的代碼。我仍然得到相同的警報。 – dachizzle37

+0

您是否將解決方案資源管理器中的資源文件從en.resx重命名爲en-Us.resx?我也更新了答案,因爲命名空間不支持該空間。 –

+0

我做了調整。同樣的警報。構建操作應該設置爲什麼? – dachizzle37