我正在开发一个Modern UI应用程序,我正在尝试从后台任务访问我的应用程序的资源文件(Resources.resw)。两者都在同一解决方案中的不同项目中。 我试过这样的方式:
ResourceLoader resources = new ResourceLoader("MyApp/Resources");
但我有一个恐怖,因为它无法进入资源地图。
有没有具体的方法呢?
答案 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项目中。注册后台任务时,请将您的设置(或您需要传递给后台任务的任何内容)写入设备的本地设置。然后,从后台任务中读取本地设置中的相同设置。
它不完美,但效果很好。如果这对您没有帮助,我很抱歉。