【问题标题】:Hosting WPF controls in Winforms在 Winforms 中托管 WPF 控件
【发布时间】:2013-05-29 20:53:18
【问题描述】:

我的应用程序是使用 WinForms 开发的。是否可以在 WinForms 用户控件中托管 WPF DataGridButtonListBoxComboBox 等?

【问题讨论】:

  • 你试过什么?如果您尝试然后针对您遇到的问题提出更有针对性的问题,那么社区提供帮助会容易得多。是或否问题不是很有建设性(请参阅常见问题解答的前两部分stackoverflow.com/faq)例如,我对 WinForms 或 WPF 控件一无所知,但快速的 Google 搜索给了我一堆链接看起来足够相关以回答这个问题。这是列表中的第一个:msdn.microsoft.com/en-us/library/ms742215.aspx

标签: wpf winforms controls


【解决方案1】:

是的,可以在 Winforms 中使用 ElementHost 控件并在其中托管 WPF 内容。

【讨论】:

  • 要添加到这一点,它可能非常慢。我不得不在旧版 WinForms 程序上添加一些 WPF 组件。我所做的是异步加载 ElementHost,这有助于提高性能。
【解决方案2】:

除非绝对必要,否则我不会混合使用 WinForm 和 WPF。虽然,Microsoft 提供了在 WinForm 中使用 WPF 控件的方法,反之亦然,但它并不总是能提供好的结果。 WF 和 WPF 以不同的方式呈现控件,您可能会遇到多个问题,包括性能和 UI 闪烁,具体取决于它们的使用方式。

如果你真的想在 WF 中使用 WPF 控件,请使用 ElementHost 控件。

ElementHost.Child = wpfControl;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多