为什么我不能使用 pack URI 找到资源但可以使用相对路径?
Why can't I find resource using pack URI but can with relative path?
我的项目的 Styles 文件夹中有一个 myresource.xaml。我可以使用相对 URI(第一行)加载它,但不能使用包 URI(第二行)加载它。为什么会这样?
<ResourceDictionary Source="/Styles/myresource.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Styles/myresource.xaml"/>
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: 方案。应用程序数据可能存储在本地文件夹、漫游文件夹或临时文件夹中。
要访问存储在本地文件夹中的文件:
<Image Source="ms-appdata:///local/images/logo.png" />
要访问存储在漫游文件夹中的文件:
<Image Source="ms-appdata:///roaming/images/logo.png" />
要访问存储在临时文件夹中的文件:
<Image Source="ms-appdata:///temp/images/logo.png" />
我的项目的 Styles 文件夹中有一个 myresource.xaml。我可以使用相对 URI(第一行)加载它,但不能使用包 URI(第二行)加载它。为什么会这样?
<ResourceDictionary Source="/Styles/myresource.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Styles/myresource.xaml"/>
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: 方案。应用程序数据可能存储在本地文件夹、漫游文件夹或临时文件夹中。
要访问存储在本地文件夹中的文件:
<Image Source="ms-appdata:///local/images/logo.png" />
要访问存储在漫游文件夹中的文件:
<Image Source="ms-appdata:///roaming/images/logo.png" />
要访问存储在临时文件夹中的文件:
<Image Source="ms-appdata:///temp/images/logo.png" />