XAML Resx本地化未按预期工作

时间:2012-08-13 18:47:47

标签: wpf xaml localization resources resx

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

  1. 在窗口中添加clr-namespace,如下所示:
    xmlns:props="clr-namespace:PJConfiguration.Properties"

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

  3. 我已经完成了这项工作,并确保我的资源类是公开的,但我仍然在步骤2中从XAML收到以下错误:

      

    找不到“资源”类型。

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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