【发布时间】:2019-03-09 00:35:17
【问题描述】:
我的团队有一些使用 XAML 编写的 WPF 项目。我们最近为每个项目添加了大量本地特定的 RESX 文件。为了保持整洁,我被要求将这些文件存储在 [Project]>Localization>[locale]
现在,当我们在非 en-US 语言环境中运行应用程序时,会从相应的 RESX 文件中提取字符串。我们尝试更新 RESX 文件属性中的命名空间,并将它们设置为 Public,以便创建生成的设计器。 我们可以让事情正常工作的唯一方法是将语言环境 RESX 文件直接移动到项目的 Properties 目录中。
是否有更新 XAML 以在子目录中搜索区域设置 RESX 文件?
编辑 XAML Codebase and Solution Explorer
我已附上问题的图片以供澄清。
我们尝试过的一些代码更改:
1) 我们尝试为 xmlns:res="clr-namespace:[PROJECT].CoreUI.Localization"
设置命名空间
2) 尝试将命名空间设置为 xmlns:res="clr-namespace:[PROJECT].CoreUI"
3) 我们还尝试更改 RESX 文件的自定义工具命名空间以匹配当前命名空间 My.Properties 以及 CoreUI.Properties
我们还确认 Resources.resx 和 Resources.ru.resx(例如)的访问修饰符都设置为 Public,并且两个 Build Actions 都显示“嵌入式资源”
【问题讨论】:
-
到目前为止,您进行了哪些编码尝试?请使用与您的问题相关的所有代码更新您的问题。
-
请检查 Resx 文件的构建操作。当文件位于属性以外的不同文件夹中时有什么区别吗?
标签: c# wpf localization resx