为什么我无法使用包URI找到资源但可以使用相对路径?

时间:2016-03-28 21:37:30

标签: .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"/>

1 个答案:

答案 0 :(得分:5)

Pack URI是WPF / Silverlight概念。 UWP处理文件资源的方式不同。

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

<ResourceDictionary Source="/Styles/myresource.xaml"/>
<ResourceDictionary Source="ms-appx:///Styles/myresource.xaml"/>

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

<ResourceDictionary Source="Styles/myresource.xaml"/>

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

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

<Image Source="ms-appdata:///local/images/logo.png" />

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

<Image Source="ms-appdata:///roaming/images/logo.png" />

访问存储在临时文件夹中的文件:

<Image Source="ms-appdata:///temp/images/logo.png" />