3

我正在尝试使用 resx 文件来本地化我在 XAML 文件中使用的一些字符串。我查看了网络上的其他文档,他们似乎都推荐了一个两部分的过程:

  1. 将 clr-namespace 添加到您的窗口,如下所示:
    xmlns:props="clr-namespace:PJConfiguration.Properties"

  2. 使用该命名空间来本地化您的字符串,如下所示:
    Content="{x:Static props:Resources.SharedSettings}"

我已经这样做了,并且还确保我的资源类是公共的,但是在第 2 步中我仍然从 XAML 中收到以下错误:

找不到类型“资源”。

有谁知道还有什么可能导致这个问题?提前致谢。

4

3 回答 3

3

为了使资源对 XAML 可见,您必须确保资源的代码生成模式设置为公共。在 VS 中,您可以在资源设计器窗口顶部附近的 ComboBox 中找到该设置。

有关在 XAML 中使用 .Net 资源的更多信息,您可能需要参考以下博客文章:http ://wpfglue.wordpress.com/category/localization/

于 2012-08-21T20:32:01.100 回答
2

检查您的 .resx 文件是否是 Application 程序集的 Properties 目录中的默认 Resources.resx 文件。如果是这样,则 XAML 没有理由无法从本地程序集下的正确命名空间中找到公共类 Resources。

于 2012-08-22T00:26:10.607 回答
1

尝试按照此答案中的建议在步骤 2 中指定程序集名称。

于 2012-08-13T19:02:10.440 回答