2015-08-25 66 views
7

我有一個WPF程序,當我本地化它時,它失敗。我進入創造了這個XML命名空間,對應於文件的位置,在Window元素:爲什麼我不能本地化我的WPF程序?

xmlns:properties="clr-namespace:ResxEditor.Properties" 

這是怎麼了本地化的每個元素:

<Button Content="{x:Static properties:Resources.FilePickerButton_AddFile}" /> 

設計師工作完全正常,和我當我選擇Resources.,自動完成拉起可用項目,但是當我建立我的應用程序,它與此錯誤消息崩潰:

拋出異常:「System.Windows.M 'PresentationFramework.dll中的arkup.XamlParseException'

其他信息:'在'System.Windows.Markup.StaticExtension'上提供值引發異常。'行號「5」和行位置「9」。

行號和位置對應於我在上面給出的命名空間中的第一個x。我試圖在網上搜索這條消息,我似乎無法找到任何東西。

+0

雖然您的問題的措辭和說明更好,但它仍是鏈接帖子的副本。但不要擔心這個關閉 - 你的問題依然存在,它仍然可以積累代表。 – slugster

回答

10

經過一小時左右的搜索網絡,我隨機發生嘗試將我的Resources.resx文件中的訪問修飾符從internal更改爲public。爲此,請在Visual Studio編輯器中打開.resx文件,並將名爲「Access Modifier」的下拉菜單更改爲「public」,這應該是除「internal」之外的唯一選項。

enter image description here

這將改變所有項目在.designer文件中使用public訪問修飾符。這些項目的示例如下所示:

/// <summary> 
/// Looks up a localized string similar to Add Files. 
/// </summary> 
public static string FilePickerButton_AddFile { 
    get { 
     return ResourceManager.GetString("FilePickerButton_AddFile", resourceCulture); 
    } 
} 
相關問題