好奇使用
ElementHost
在WinForm应用程序中宿主WPF用户控件?
我这样问是因为总的来说,我觉得创建一个新的WPF应用程序需要花费很多时间,它有一个看起来不错的基本接口。不错,如果我创建一个新的WinForms应用程序并在其上抛出一些控件,我最终会得到一个基本的界面,它看起来和行为类似于许多其他应用程序,但看起来并不简单。如果我对一个WPF应用程序做同样的事情,我觉得我没有达到相同的结果,我最终得到一个白背景的“普通”应用程序,除非我将角色改为设计器,并花费额外的时间使其看起来像某种方式。
然而,有些情况下,WPF对我来说是可取的,因为它相对容易创建一个风格化的接口。考虑一个视频播放器控件;在WPF中,我可以创建一些看起来非常漂亮和自定义的控件,但比WinForms控件花费的时间和精力要少得多。在这些情况下,使用wpf是有意义的,因为我花费的时间比我在paint上花费的时间要少。
我意识到我使用了很多主观术语,但这是我对原始问题的推理。
更新:
只是为了澄清我的“视频播放器控制”示例。WPF不仅给了我
MediaElement
要播放,但如果我想说,在视频暂停时覆盖播放按钮,或者如果我想在鼠标位于某个位置时显示半透明的“播放/暂停/停止/音量”栏,wpf比任何WinForms选项都简单得多。
编辑:
也许我的配置选项有问题,或者有什么问题,但是当我查看wpf和winforms控件时,“描述”部分也会消失。更让人沮丧的是,在WPF属性窗体中按F1键并不能将您带到所处的特定属性/事件。
更新:
还有其他人吗?我更关心的是性能影响和/或特性限制,它们将通过在
元素元素
.到目前为止,这听起来像是运行时的一次性开销,但这就是全部吗?