将字符串打包到WPF用户控件库中

本文关键字:用户 控件 WPF 字符串 | 更新日期: 2023-09-27 18:27:08

我最初在我的主项目中创建了一个用户控件。我现在创建了一个使用WPF用户控件库模板的新项目,并将我的控件移到了那里。

我遇到的问题是,我的控件使用图像作为按钮的内容。我已经将图像和控件一起移动到新项目中,但我无法使Pack URI工作。控件和图像都位于名为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,创建一个Image控件,将其源设置为BitmapSource,然后将Button.Content设置为Image。我认为,由于png有一个透明的背景,它在这个过程中被搞砸了,所以使用这种方法显示为黑色背景。

项目中映像的Build Action设置为Resource,所以我认为我只是缺少正确的Pack字符串。

将字符串打包到WPF用户控件库中

您的第二个包uri很接近,但您漏掉了一个单词(和一个斜杠)!应该是

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