我添加了一些图片作为我的项目资源(例如,我将它们放入"ressources"文件夹中)。现在我将它们用于:
<Image Name="_ImageName" Width="100" Height="100" Source="ResourcesHalloPicA.png"/>
<Image Name="_ImageName" Width="100" Height="100" Source="ResourcesHalloPicB.png"/>
。等等。
想象一下,现在我将文件夹"资源"更改为"我的资源"。问题 我必须在 XAML 代码中的任何地方更改它。有没有更好的方法存在?在 c#-Code 中,我会从 typ 字符串声明一个成员变量,如下所示:
privat _FolderName = "Resources";
并通过以下方式使用此成员变量:
Image newImage = Image.FromFile(_FolderName +"HalloPicA.png");
希望我的问题很清楚。
可以使用属性绑定和值转换器来执行此操作。例如:
<Image Name="_ImageName" Width="100" Height="100" Source="{Binding Path=imgA, Converter={StaticResource imgPathConverter}}" />
其中,imgPathConverter 是可以在"限定"图像路径中转换图像名称的类。
你可以做的是创建单独的资源字典,或者把它放在Application.Resources
中,有BitmapImage
资源:
<Application ...>
<Application.Resources>
<BitmapImage UriSource="/MyAssemblyName;component/MyPath/myImage.png" x:Key="imageKey"/>
</Application.Resources>
</Application>
然后当你想使用它时
<Image Width="100" Height="100" Source="{StaticResource imageKey}"/>
这样,当文件夹更改时,您只需在一个文件中更改它