2

我最初在我的主项目中创建了一个用户控件。我现在创建了一个使用 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文件中,然后在后面的代码中将其转换为 a BitmapSource,创建一个 Image 控件,将其源设置为BitmapSource,然后将 设置Button.ContentImage. 我假设由于png具有透明背景,因此在此过程中被弄乱了,使用此方法以黑色背景显示。

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

4

1 回答 1

4

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

<Image Source="pack://application:,,,/MyControls;component/MyControl/image1.png" />
于 2013-08-09T18:26:54.983 回答