Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ResourceDictionary源中的Uri语法(通用Windows平台)_C#_Xaml_Windows 10_Uwp - Fatal编程技术网

C# ResourceDictionary源中的Uri语法(通用Windows平台)

C# ResourceDictionary源中的Uri语法(通用Windows平台),c#,xaml,windows-10,uwp,C#,Xaml,Windows 10,Uwp,我正在将我的windows8.1项目迁移到windows10(通用Windows平台)。 此时,我被ResourceDictionary中的UWP更改所阻止 为简单起见: 我有两个项目的Windows 8.1解决方案: App project (FooApp)+ Styles (FooStyles) project. FooApp引用了FooStyles,在App.xaml中,我有: <Application.Resources> <ResourceDictionary>

我正在将我的
windows8.1
项目迁移到
windows10
(通用Windows平台)。 此时,我被
ResourceDictionary
中的
UWP
更改所阻止

为简单起见: 我有两个项目的Windows 8.1解决方案:

App project (FooApp)+ Styles (FooStyles) project.
FooApp引用了FooStyles,在
App.xaml中,我有:

<Application.Resources>
<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ms-appx:///FooStyles/Brushes.xaml"/>
    </ResourceDictionary.MergedDictionaries>
这里有什么建议吗


另外,我不会将我的资源从FooStyles移动到FooApp,因为在我的解决方案中,FooStyles在其他5个应用程序项目之间共享。

在UWP中,必须指定名称空间才能实现这一点。此外,我发现XAML资源字典只有在属性部分标记为“Page”时才以这种方式引用

然后在应用程序xaml中:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ms-appx:///Default.Namespace.External.Assembly/FolderPathOffRoot/Brushes.xaml"/>
        </Application.Resources>
    </ResourceDictionary>
</ResourceDictionary.MergedDictionaries>


不要对ms appx感到困惑,它指的是您的软件包,而不仅仅是包含应用程序的项目。

这对于UWP解决方案和1个应用程序项目+1个样式项目非常有效。检查样式项目是否支持win 10。并尝试在应用程序项目中删除并重新添加对样式项目的引用。
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ms-appx:///Default.Namespace.External.Assembly/FolderPathOffRoot/Brushes.xaml"/>
        </Application.Resources>
    </ResourceDictionary>
</ResourceDictionary.MergedDictionaries>