Xaml UWP类库中的参考资源字典

Xaml UWP类库中的参考资源字典,xaml,uwp,uwp-xaml,Xaml,Uwp,Uwp Xaml,我们有一个使用模板10的UWP应用程序。资源位于同一解决方案中的UWP类库中。当我们运行应用程序时,我们会得到错误 {Windows.UI.Xaml.Markup.XamlParseException:无法从'ms'找到资源-resource:///Files/Styles\按钮样式。xaml' 在App.xaml中,我们有 <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="

我们有一个使用模板10的UWP应用程序。资源位于同一解决方案中的UWP类库中。当我们运行应用程序时,我们会得到错误

{Windows.UI.Xaml.Markup.XamlParseException:无法从'ms'找到资源-resource:///Files/Styles\按钮样式。xaml'

在App.xaml中,我们有

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="Styles\Custom.xaml" />
    <ResourceDictionary Source="Styles\ButtonStyle.xaml"/>
    <ResourceDictionary Source="Styles\ListsStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>

我们在工作中遵循指导方针


那么错误是

{WINDOWS.U.XAML.MARUP.XAMLPARSEEXPRECT:未能分配给属性“Windows .uix.xAML.RetrueCigActudio.So源”,因为类型“Windows .Field.String”不能被赋值给类型…

我们还尝试了解决方案


那么错误是

{Windows.UI.Xaml.Markup.XamlParseException:无法从中找到资源pack://application:,,,,/LibraryName;组件/样式/自定义.xaml'


我们如何在UWP类库中引用ResourceDictionary?

正如@Justin所指出的,这里的问题是您忘记在URI中添加类库名称。。假设您的解决方案中有一个名为“ClassLibrary1”的UWP类库。然后您可以将它们合并为:

<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ClassLibrary1/Styles/Custom.xaml" />
        <ResourceDictionary Source="ClassLibrary1/Styles/ButtonStyle.xaml"/>
        <ResourceDictionary Source="ClassLibrary1/Styles/ListsStyle.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>


另外,不要忘记将“ClassLibrary1”添加到主项目的引用中

此外,如果您的类库不在同一个解决方案中,则需要在类库的属性页下的构建配置中选中生成库布局选项。


因为在WinRT环境中,资源不再嵌入程序集中,而是作为内容放置在dll旁边。因此,我们需要生成库布局,以便方便地在其他项目中引用dll。有关详细信息,请参阅。

您没有正确地遵循第二个。链接中的项目名称在哪里?
<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="pack://application:,,,/LibraryName;component/Styles/Custom.xaml" />
    <ResourceDictionary Source="pack://application:,,,/LibraryName;component/Styles/ButtonStyle.xaml"/>
    <ResourceDictionary Source="pack://application:,,,/LibraryName;component/Styles/ListsStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ClassLibrary1/Styles/Custom.xaml" />
        <ResourceDictionary Source="ClassLibrary1/Styles/ButtonStyle.xaml"/>
        <ResourceDictionary Source="ClassLibrary1/Styles/ListsStyle.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ms-appx:///ClassLibrary1/Styles/Custom.xaml" />
        <ResourceDictionary Source="ms-appx:///ClassLibrary1/Styles/ButtonStyle.xaml"/>
        <ResourceDictionary Source="ms-appx:///ClassLibrary1/Styles/ListsStyle.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>