4

是否可以在 WinForms 上显示 WPF 上下文菜单?

如果是,我们怎么能这样做?

4

3 回答 3

3

好的,所以我自己找到了答案......(我试图给予 50 分赏金,但我认为我不能奖励自己:P)

我们有很多遗留的 WinForms...表单...仍在我们的项目中工作。这是在 WinForms 项目中显示 WPF 上下文菜单所需的密码!

var myMenu = new System.Windows.Controls.ContextMenu();
myMenu.Items.Add("One");
myMenu.Items.Add("Two");
myMenu.Items.Add("Three");
myMenu.IsOpen = true;

田田!!!- 不需要密码......您可以在 WPF 应用程序或 WinForms 应用程序中编写此代码,并且它的工作原理相同。

这就是你的答案:)

于 2011-04-13T03:01:45.630 回答
2

您可以使用WindowsFormsHost(WinForm inside WPF window)和ElementHost(WPF inside WinForm window)混合使用这两种技术。

在将WPF 菜单添加到 Winform 应用程序时,您不会遇到空域问题。但是,如果您使用 Winform UserControls 创建 WPF 窗口,您将会这样做。这篇博客文章有一些解决它的想法,但它并不漂亮。

于 2011-04-11T01:15:36.613 回答
0

我不知道它是否可以完成,但这篇文章可能会帮助您指出正确的方向。作为一名 WPF 开发人员,想要混合使用 winforms 和 wpf 对我来说似乎很奇怪,但我可以看到重用的情况。

于 2010-07-22T14:07:02.043 回答