我正在构建一个WinForms应用程序,并试图在其中包含一个WPF应用程序。所讨论的WPF是一个由HighCore编写的日志查看器,可以在这里找到:用WPF实现日志查看器。
我学习了关于如何设置所有东西的这教程。需要注意的是,当我在VS中展开ElementHost选项时,它不会在“”下拉菜单中显示日志查看器。然而,日志查看器在我的项目中(我是通过project菜单创建的),因此我最后使用了以下代码:
public MainForm()
{
InitializeComponent();
logViewer tslv = new logViewer();
elementHost.Child = tslv;
this.Controls.Add(elementHost1);
elementHost.BringToFront();
}我添加BringToFront()是因为我第一次运行代码时没有看到WPF。现在,发生了这样的事情:

但是,我在VS designer中的内容如下所示:

ElementHost在一个SplitContainer中,它本身就在一个面板中(这就是我在VS designer图像中所选择的)。
WPF不觉得需要被ElementHost的维度或位置所束缚(可能是反叛)。例如,如果我将ElementHost的Dock属性设置为Fill,则WPF将填充整个应用程序窗口,而不仅仅是ElementHost中的空格。
除了将WPF放在自己的窗口或将WinForms应用程序移植到WPF之外,还有人有什么建议吗?
发布于 2013-10-25 16:43:51
删除这一行: this.Controls.Add(elementHost1);
您正在将elementHost读入表单中的子列表中。
https://stackoverflow.com/questions/19595162
复制相似问题