我有一个包含许多 WPF 项目和 UserControls 的解决方案。其中有一个Core
项目,其中包含所有其他项目和所有项目共享的资源。其中之一是一个图像文件,我不得不将其复制到所有其他项目中,以便Source
为各种ImageEdit
控件的属性使用相对文件路径。
如何进行设置以使图像文件仅存在于Core
项目中,并且我可以在所有其他项目的 XAML 中引用它?
从您打算使用图像的项目中引用该项目,然后使用包 URI访问它。
像这样的东西:
<UserControl x:Class="MyProduct.MyModule.MyView"
.....
<Image Source="pack://application:,,,/MyProduct.Core;component/Images/MyImage.png"/>
图像的构建操作应该是“资源”。
将图像添加到您的核心项目,然后作为链接项目添加到您的其他项目(右键单击项目->添加现有项目->从您的核心项目中选择文件,然后您需要单击“添加”旁边的三角形而不是“添加”添加”并说“添加为链接”)。然后,您可以在特定项目中以通常的方式引用它...