我正在尝试使用resx文件来本地化我在XAML文件中使用的一些字符串。我已经浏览了网络上的其他文档,他们似乎都推荐了两个部分:
在窗口中添加clr-namespace,如下所示:
xmlns:props="clr-namespace:PJConfiguration.Properties"
使用该命名空间来本地化您的字符串,如下所示:
Content="{x:Static props:Resources.SharedSettings}"
我已经完成了这项工作,并确保我的资源类是公开的,但我仍然在步骤2中从XAML收到以下错误:
找不到“资源”类型。
有谁知道还有什么可能导致这个问题?提前谢谢。
答案 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中指定程序集名称。