【发布时间】:2011-04-27 14:50:41
【问题描述】:
在使用工具窗口创建简单的 VSPackage 时,会创建一个示例 WPF 用户控件并将其添加到工具窗口。 这个用户控件必须是 WPF 的吗?我有一个 winforms 用户控件,当将其添加到工具窗口时,它没有显示出来。尝试在 WPF 中托管它但没有成功。有什么标准的方法吗?
【问题讨论】:
标签: wpf winforms visual-studio-2010 winforms-interop vspackage
在使用工具窗口创建简单的 VSPackage 时,会创建一个示例 WPF 用户控件并将其添加到工具窗口。 这个用户控件必须是 WPF 的吗?我有一个 winforms 用户控件,当将其添加到工具窗口时,它没有显示出来。尝试在 WPF 中托管它但没有成功。有什么标准的方法吗?
【问题讨论】:
标签: wpf winforms visual-studio-2010 winforms-interop vspackage
我遇到了同样的问题。搜索了很多。无法找到答案或样本。终于发到msdn论坛了。得到了我的答案。这是msdn论坛帖子的链接
ToolWindowPane 可用于承载 WPF 内容或 Winform 控件。
对于 Winform 控件,您只需覆盖 Window 属性 get,并将 Content 属性保留为空。
例如:
public MyToolWindow() : base(null)
{
this.Caption = Resources.ToolWindowTitle;
this.BitmapResourceID = 301;
this.BitmapIndex = 1;
control = new MyControl();
}
override public System.Windows.Forms.IWin32Window Window
{
get
{
return (System.Windows.Forms.IWin32Window)control;
}
}
【讨论】:
我几乎可以肯定它也可以是 winforms,而且我确信 MSDN 上的某个地方有一个演示。有时间我看看能不能挖出来。
【讨论】: