在 UI 中使用来自其他项目的 Windows 字符串资源

Posted

技术标签:

【中文标题】在 UI 中使用来自其他项目的 Windows 字符串资源【英文标题】:Use Windows String Ressources from other Project in UI 【发布时间】:2015-08-14 22:40:37 【问题描述】:

我有 2 个项目,我想将本地化字符串资源存储在我的库中。所以要在后面的代码中加载字符串资源,我使用类似

ResourceLoader l = ResourceLoader.GetForCurrentView("MyLibrary/Resources");
string sample = l.GetString("sample");

如何设置这样的 XAML 字符串资源?我不想为解决方案中的每个项目复制字符串资源。

换句话说,如何告诉我的应用程序从我的库中使用视图中的字符串资源?

编辑:

我在我的 Windows-Store-Application 中使用 Resource.resw 文件。 我可以通过后面的代码访问它们,但我的“MainProject”中的视图只显示空字符串,我不希望他们在“MainProject”的Pages 后面的代码中设置每个字符串。

【问题讨论】:

在设计器中使用字符串打开 Resources.resx 并将访问修饰符从 internal 更改为 public(组合框在右上角)。这可能没有帮助没有阅读 XAML 部分:( 访问没问题。我可以从“MyLibrary”中获得完整的“ResourceMap”。 【参考方案1】:

首先打开您的Resource.resx 文件并将访问修饰符从internal 更改为public。这将允许您访问另一个项目中的整个资源。现在转到您要在其中访问Resource.resx 文件的项目。添加包含Resource.resx 的项目的引用,并在您要使用资源的任何位置包含命名空间。

如果这不起作用,请告诉我。

编辑

请参考以下链接。他们正在解释如何参考或访问资源。

[How to load string resource][1]

Features and restrictions of resource loading Blockquote

我希望您会发现这些信息并可能解决您的问题。

【讨论】:

我正在使用“Resource.resw”文件。我在我想在 XAML 页面中显示字符串的项目中引用了“MyLibrary”。我添加了命名空间,但在我的 UI 中,TextBlocks 仍然是空的。我认为 .NET resx 和 Windows-Store 的 resw 之间有一点区别。我也没有找到访问修饰符,甚至在我的“Resource.resw”的 XML 视图中也没有。也许我误解了你,但我想告诉我的 MainProject 使用“MyLibrary”的“Resource.resw”,就像文件在我的“MainProject”中一样。

以上是关于在 UI 中使用来自其他项目的 Windows 字符串资源的主要内容,如果未能解决你的问题,请参考以下文章

造型反应原生

如何设置 WPF ListView 选定项颜色?

来自资源编辑器的其他 jar 与 LWUIT 1.5 示例应用程序不同

开源项目将 Windows 95 画风带到 iOS 上

在主 ui 线程上处理来自其他线程的太多动画请求 - android

在 c# 中使用 Pgina 修改 Windows 登录 UI(凭据提供程序)