我最初在我的主项目中创建了一个用户控件。我现在创建了一个使用WPF用户控件库模板的新项目,并将控件移到那里。
我遇到的问题是,我的控件使用图像作为按钮的内容。我已将图像与控件一起移动到新项目中,但我无法使Pack URI工作。 Control和图像都位于名为MyControl
的项目的同一文件夹中,新项目名称为MyControls
。
我试过了:
<Button Name="Button1" ToolTip="Button1" Click="Button1Action">
<Image Source="pack://application:,,,/MyControl/image1.png" />
</Button>
和
<Button Name="Button1" ToolTip="Button1" Click="Button1Action">
<Image Source="pack://application:,,,MyControls;/MyControl/image1.png" />
</Button>
我还尝试将图片添加到Resources.resx
文件,然后在Code Behind将其转换为BitmapSource
,创建图像控件,将其源设置为BitmapSource
,以及然后将Button.Content
设置为Image
。我假设由于png具有透明背景,因此在此过程中它被搞砸了,使用此方法显示为黑色背景。
项目中图像的构建操作设置为Resource
,因此我假设我只是缺少正确的包字符串。
答案 0 :(得分:4)
你的第二包uri很接近,但你错过了一个字(和一个斜线)!它应该是
<Image Source="pack://application:,,,/MyControls;component/MyControl/image1.png" />