我的xaml代码中有以下资源字典,我想缩短路径,使其不是整个目录。在不必拼出整个文件结构的情况下指定此文件夹的正确方法是什么?
<UserControl.Resources>
<ResourceDictionary>
<BitmapImage x:Key="1" UriSource="C:/Users/Nick/Documents/Software/i Ching/iChing/iChing/Hexagram Images/1.jpg"/>
<BitmapImage x:Key="2" UriSource="C:/Users/Nick/Documents/Software/i Ching/iChing/iChing/Hexagram Images/2.jpg"/>
<BitmapImage x:Key="3" UriSource="C:/Users/Nick/Documents/Software/i Ching/iChing/iChing/Hexagram Images/3.jpg"/>
<BitmapImage x:Key="4" UriSource="C:/Users/Nick/Documents/Software/i Ching/iChing/iChing/Hexagram Images/4.jpg"/>
</ResourceDictionary>
</UserControl.Resources>
答案 0 :(得分:1)
您可以使用BitmapImage
的BaseUri
属性
<BitmapImage x:Key="1" BaseUri="{x:Static local:GlobalPaths.BasePath}" UriSource="1.jpg"/>
public class GlobalPaths
{
public static readonly Uri BasePath = new Uri(@"C:/Users/Nick/Documents/Software/i Ching/iChing/iChing/Hexagram Images/");
}
或者你可以像这样为每个文件设置路径:
<BitmapImage x:Key="1" UriSource="{x:Static local:GlobalPaths.File1}"/>
..或者如果是选项,则使用siteoforigin设置相对于程序集的路径。 这是一个示例,如果文件“1.jpg”与应用程序exe在同一文件夹中,它会是什么样子:
<BitmapImage x:Key="1" UriSource="pack://siteoforigin:,,,/1.jpg"/>
答案 1 :(得分:0)