使用后台任务中的app resw文件

时间:2012-11-05 14:18:38

标签: c# resources windows-8 microsoft-metro background-process

我正在开发一个Modern UI应用程序,我正在尝试从后台任务访问我的应用程序的资源文件(Resources.resw)。两者都在同一解决方案中的不同项目中。 我试过这样的方式:

ResourceLoader resources = new ResourceLoader("MyApp/Resources");

但我有一个恐怖,因为它无法进入资源地图。

有没有具体的方法呢?

4 个答案:

答案 0 :(得分:2)

如果有人碰到这个。

在UWP中,您似乎没有必要做任何特别的工作。如果主要UWP项目中包含.resw文件,则可以使用资源加载器甚至从后台任务程序集中检索它们。对于名为 LiveNotifications-ItemComplete 的资源字符串,它将如下所示:

var resource = new ResourceLoader().GetString("LiveNotifications-ItemCompleted");

希望这有帮助!

答案 1 :(得分:1)

尝试仅使用资源文件的名称。如果名称是MyResources.resw,则使用:

ResourceLoader resources = new ResourceLoader("MyResources");

答案 2 :(得分:1)

虽然这是一篇很老的帖子,但我认为我会发布我的发现,因为当我尝试在我的UWP应用程序中使用它来执行Windows 10后,我在这篇文章中没有提出任何建议。

我实现它的方式如下:

string str = ResourceLoader.GetForViewIndependentUse("Resources").
             GetString("MyLocalizedKey");

哪里

  • "Resources"是“App \ String \ en-US”或“App \ Strings \ fr-FR”中.resw文件的名称。

  • "MyLocalizedKey"是您要从资源文件中获取的值的实际键。

现在请记住,如果您使用此方法,则必须将BackgroundTask的所有字符串放在主应用程序中。

希望这有帮助。

答案 3 :(得分:0)

我认为你要做的事情是不可能的。可能只有在商店应用程序项目中才能访问Resw。至少这是我的观察,我已经尝试了所有知识。

如果您想将参数传递给后台任务,我可以提供解决方案。将resw文件添加到Windows Store App项目中。注册后台任务时,请将您的设置(或您需要传递给后台任务的任何内容)写入设备的本地设置。然后,从后台任务中读取本地设置中的相同设置。

它不完美,但效果很好。如果这对您没有帮助,我很抱歉。