【问题标题】:Image not appearing in Winforms User Control Designer图像未出现在 Winforms 用户控件设计器中
【发布时间】:2018-04-29 13:20:51
【问题描述】:

我正在使用 WPF 在文档级 VSTO 自定义中对用户界面进行编码,但我无法在 WPF 控件中获取图像以显示在 Windows 窗体用户控件 ElementHost 设计器中。我已经详细检查了 StackOverflow 上有关此问题的其他帖子,并相信我已经涵盖了所有建议但无济于事。显然我错过了一些东西,我应该非常感谢一些建议。下面是我所做的详细说明。

为了说明,此示例的用户界面只是显示单个徽标图像。

我正在按照Using WPF Controls in Office Solutions 的说明进行操作。

我从 Visual Studio 2017 v15.6.7 中提供的 Word 2013 和 Word 2016 模板创建一个新的 Office 项目 (TestWPFImage) 用于文档级自定义

我在项目中添加了一个用户控件 (WPF) (UserControlWPF.xaml)。

我在项目中添加了一个图像 (RPLogo.png)。

我将RPLogo.png的属性设置如下

.

我也尝试将构建操作从内容更改为资源,但没有任何区别。

我将以下 Xaml 代码添加到 UserControlWPF.xaml

<Grid>
    <Image Margin="10" Source="pack://application:,,,/RPLogo.png" />
</Grid

图像在 WPF 控件设计器中显示如下

我构建的项目在工具箱中创建 WPF 控件如下

我在项目中添加了一个 WinForms 用户控件 (UserControlWinForms)。我的项目现在在解决方案资源管理器中看起来像这样。

我打开 UserControlWinForms Windows 窗体用户控件设计器,然后从工具箱的 TestImageWPF 用户控件选项卡中,将 WPF 用户控件拖到设计器中,但图像没有出现。

【问题讨论】:

  • 哈?什么?wpf 或 winforms .....?我的头在旋转......你从哪里得到 Windows Forms HostWinForms ?!
  • 我正在按照上面给出的链接在 Office 解决方案中使用 WPF 控件的说明进行操作。

标签: c# wpf image vsto


【解决方案1】:

如果您的意思是看不到您在User-control 中添加的Image,那么您需要为此使用pack URI:

  <Image Source="pack://application:,,,/YourAssemblyName;component/image.png"/>

希望这会有所帮助:)

【讨论】:

  • 抱歉编辑更新超过了 5 分钟! ....我在引用的代码中使用包 URI 我从 MSDN 论文中关于 Pack URI给出的链接上的 WPF 是,这是编译成本地程序集时的正确结构。我理解您提供的版本适用于引用的程序集。尽管我尝试了这两种形式,但都没有工作。
  • @January59 ,如果您的图片的 Build action 设置为 Resource,pack URI 将起作用
  • 嗨扎克 - 非常感谢,结合使用我理解为引用的装配形式而不是本地装配形式(我误解了这一切)并将构建操作从内容更改为资源有解决了问题,终于出现了!
猜你喜欢
  • 2012-10-08
  • 2018-10-17
  • 2016-10-18
  • 2013-04-25
  • 1970-01-01
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多