为什么我无法本地化我的WPF程序?

Hos*_*250 7 c# wpf

我有一个WPF程序,当我本地化它时,它失败了.我输入在Window元素中创建了这个XML命名空间,它对应于文件位置:

xmlns:properties="clr-namespace:ResxEditor.Properties"
Run Code Online (Sandbox Code Playgroud)

这就是我如何本地化每个元素:

<Button Content="{x:Static properties:Resources.FilePickerButton_AddFile}" />
Run Code Online (Sandbox Code Playgroud)

设计师工作得很好,我选择时Resources.,自动完成拉取可用的项目,但是当我构建我的应用程序时,它会崩溃并显示以下错误消息:

抛出异常:PresentationFramework.dll中的'System.Windows.Markup.XamlParseException'

其他信息:'为'System.Windows.Markup.StaticExtension'提供价值引发了异常.行号"5"和行位置"9".

行号和位置对应于x我上面给出的命名空间中的第一个.我试着在网上搜索这条消息,我似乎找不到任何东西.

Hos*_*250 10

经过一个小时左右的搜索网络后,我随机尝试将我的Resources.resx文件中的访问修饰符更改internalpublic.为此,请在Visual Studio编辑器中打开.resx文件,并将标记为"Access Modifier"的下拉菜单更改为"public",这应该是除"internal"之外的唯一其他选项.

在此输入图像描述

这将更改.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);
    }
}
Run Code Online (Sandbox Code Playgroud)