使用 Microsoft.DwayneNeed 解决 WPF 空域问题时出错
Error When using Microsoft.DwayneNeed to solve WPF airspace isssue
我有一个 wpf 应用程序,它在 mainwindow.Of 课程中使用了 winform 控件,当显示模态边框时,此 winform 控件保持在顶部。在那之后,我找到了 Microsoft.DwayneNeed 方法来解决这个 problem.It 的问题。但是新的问题出现了。让我描述一下我的情况:
在主窗口中,我有一个网格,它有三个 columns.The 控件,第一列是一个普通的 wpf control.The 第二列包含一个 Gridsplitter.And 第三列是winform控件就在眼前。
在我使用AirspaceDecorator(From Microsoft.DwayneNeed)作为winform控件的容器之前,除了winform控件总是停留在最顶层之外,一切正常,GridSplitter工作得很好。
我使用AirspaceDecorator作为winform控件的容器后,winform控件并没有保持topmost.It的好,这就是我想要的。但令人惊讶的是,GridSplitter 不再起作用:
1.Generayly,我不能拖动 GridSplitter --- 它应该按设计水平拖动。
2.On GridSplitter偶尔会被拖到window的左端或右端,此时winform控件占据了所有的window,即零。
我尝试了一些方法,例如AirspaceFixer,使用WinformHost 来托管对话框边框等。但是 none 这些方法有效。
谢谢!
经过一些测试,我解决了这个问题 problem.The 答案是正确使用 AirspaceFixer。
调用AirspaceFixer封装的winform控件show前,应将FixAirspace设置为true,隐藏上层wpf控件后,应将FixAreaSpace属性设置为false。就像演示一样。
我有一个 wpf 应用程序,它在 mainwindow.Of 课程中使用了 winform 控件,当显示模态边框时,此 winform 控件保持在顶部。在那之后,我找到了 Microsoft.DwayneNeed 方法来解决这个 problem.It 的问题。但是新的问题出现了。让我描述一下我的情况:
在主窗口中,我有一个网格,它有三个 columns.The 控件,第一列是一个普通的 wpf control.The 第二列包含一个 Gridsplitter.And 第三列是winform控件就在眼前。
在我使用AirspaceDecorator(From Microsoft.DwayneNeed)作为winform控件的容器之前,除了winform控件总是停留在最顶层之外,一切正常,GridSplitter工作得很好。
我使用AirspaceDecorator作为winform控件的容器后,winform控件并没有保持topmost.It的好,这就是我想要的。但令人惊讶的是,GridSplitter 不再起作用: 1.Generayly,我不能拖动 GridSplitter --- 它应该按设计水平拖动。 2.On GridSplitter偶尔会被拖到window的左端或右端,此时winform控件占据了所有的window,即零。
我尝试了一些方法,例如AirspaceFixer,使用WinformHost 来托管对话框边框等。但是 none 这些方法有效。
谢谢!
经过一些测试,我解决了这个问题 problem.The 答案是正确使用 AirspaceFixer。
调用AirspaceFixer封装的winform控件show前,应将FixAirspace设置为true,隐藏上层wpf控件后,应将FixAreaSpace属性设置为false。就像演示一样。