我创建了一个类库(通用Windows UWP)项目,其中包含并使用了一些.resw资源文件,但是如果在使用dll的项目执行dll期间没有加载类库项目中的这些文件。只有当我在使用这个dll的项目中直接包含resw文件时,一切都运行良好,但我必须避免这种情况。
类库以这种方式获取资源图(LocalizationLettersWords是位于类库项目中的.resw文件)
ResourceMap lettersResourceMap = ResourceManager.Current.MainResourceMap.GetSubtree("LocalizationLettersWords");
但lettersResourceMap变为空。
答案 0 :(得分:2)
在UWP中,ResourceLoader
类用于以编程方式获取资源。所以你可以用这个:
string resource1 = ResourceLoader.GetForCurrentView().GetString("YourKey");
但是当它在非UI线程上使用时它不起作用。在这种情况下,您应该使用方法GetForViewIndependentUse
,例如:
string resource2 = ResourceLoader.GetForViewIndependentUse().GetString("YourKey");
您可以详细了解ResourceLoader
班级here。