在创建带有工具窗口的简单VSPackage时,会创建一个示例WPF用户控件并添加到工具窗口中。 这个用户控件一定要是WPF吗?我有一个WinForms用户控件,但将其添加到工具窗口后它没有被显示出来。我尝试将其托管在WPF中,但没有成功。是否有标准的方法可以解决这个问题?
在创建带有工具窗口的简单VSPackage时,会创建一个示例WPF用户控件并添加到工具窗口中。 这个用户控件一定要是WPF吗?我有一个WinForms用户控件,但将其添加到工具窗口后它没有被显示出来。我尝试将其托管在WPF中,但没有成功。是否有标准的方法可以解决这个问题?
我遇到了同样的问题,进行了大量搜索,但没有找到答案或示例。最终在 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上有一个演示。我会看看是否能找到它。