【发布时间】:2011-06-24 16:48:12
【问题描述】:
是否可以在 WinForms 中使用 WPF,来实现 question 中使用的想法。我正在尝试创建一个半透明面板。
【问题讨论】:
标签: wpf vb.net winforms wpf-controls winforms-interop
是否可以在 WinForms 中使用 WPF,来实现 question 中使用的想法。我正在尝试创建一个半透明面板。
【问题讨论】:
标签: wpf vb.net winforms wpf-controls winforms-interop
您可以使用 WinForm 的 Opacity 属性使其半透明。
【讨论】:
技术上是的 - 有 hosting WPF in WinForms 使用 ElementHost 的方法。
但是,您可能会遇到透明度问题。 WPF 的渲染与 WinForms 不同,虽然您可以使 WPF 控件透明,但下面的 WinForms 不会尊重这一点。
【讨论】:
PictureBox 控件很好地支持了这一点。您只需要一个图像,而不是两个在单独的控件中相互叠加的图像。如果您绝对必须对两张图像执行此操作,您可以考虑使用Graphics.DrawImage 方法在另一张上绘制一张。但是您仍然不会获得部分透明度,您只能通过顶部图像的清晰区域看到背景图像。