为什么我不能使用pack URI查找资源但可以使用相对路径?

She*_*een 0 .net xaml win-universal-app windows-10 windows-10-universal

我的项目的Styles文件夹中有myresource.xaml.我可以使用相对URI(第一行)加载它,但不能使用pack URI(第二行)加载它.为什么?

<ResourceDictionary Source="/Styles/myresource.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Styles/myresource.xaml"/>
Run Code Online (Sandbox Code Playgroud)

Gle*_*mas 7

Pack URI是WPF/Silverlight概念.UWP以不同方式处理加载文件资源.

要从应用程序包访问文件,可以使用直接或逻辑文件路径来引用资源.

<ResourceDictionary Source="/Styles/myresource.xaml"/>
<ResourceDictionary Source="ms-appx:///Styles/myresource.xaml"/>
Run Code Online (Sandbox Code Playgroud)

要访问相对于当前XAML页面的文件,可以使用相对URI.

<ResourceDictionary Source="Styles/myresource.xaml"/>
Run Code Online (Sandbox Code Playgroud)

要访问存储在应用数据中的文件,请使用ms-appdata:scheme.应用数据可以存储在本地文件夹,漫游文件夹或临时文件夹中.

要访问存储在本地文件夹中的文件:

<Image Source="ms-appdata:///local/images/logo.png" />
Run Code Online (Sandbox Code Playgroud)

要访问存储在漫游文件夹中的文件:

<Image Source="ms-appdata:///roaming/images/logo.png" />
Run Code Online (Sandbox Code Playgroud)

要访问存储在temp文件夹中的文件:

<Image Source="ms-appdata:///temp/images/logo.png" />
Run Code Online (Sandbox Code Playgroud)