WPF用户控件库中的包字符串

时间:2013-08-09 18:21:55

标签: c# .net wpf xaml user-controls

我最初在我的主项目中创建了一个用户控件。我现在创建了一个使用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,因此我假设我只是缺少正确的包字符串。

1 个答案:

答案 0 :(得分:4)

你的第二包uri很接近,但你错过了一个字(和一个斜线)!它应该是

<Image Source="pack://application:,,,/MyControls;component/MyControl/image1.png" />