最小化 Winform 拥有的 WPF window 未按预期工作

Minimizing a WPF window owned by a Winform is not working as expected

我有一个名为 MyFormForm 控件,它是某些 WPF BaseWindow 的父控件,名为 MyWindow

我将他们的关系设置如下:

new WindowInteropHelper(myWindowInstance).Owner = myFormInstance.Handle;

我正在使用

显示window
myWindowInstance.ShowDialog();

window设置为

ResizeMode="CanResize"

因此,它有一个最小化按钮。在最小化 window 时,它并没有像预期的那样最小化,而是最小化到表单的底部。

我想体验的是父级也会被最小化。意味着最小化 window,将转换为最小化形式。

您可能希望创建事件处理程序以在事件(最小化)发生时控制它们的行为关系。

对于 WPF,您可以使用 Window_StateChanged 事件来检查 this.WindowState == WindowState.Minimized

然后对于 WinForm 你可以通过 Resize 事件来完成这个技巧并检查 WindowState == FormWindowState.Minimized

如果其中任何一个为真,那么您可以将两者最小化。