最小化 Winform 拥有的 WPF window 未按预期工作
Minimizing a WPF window owned by a Winform is not working as expected
我有一个名为 MyForm
的 Form
控件,它是某些 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
如果其中任何一个为真,那么您可以将两者最小化。
我有一个名为 MyForm
的 Form
控件,它是某些 WPF BaseWindow
的父控件,名为 MyWindow
。
我将他们的关系设置如下:
new WindowInteropHelper(myWindowInstance).Owner = myFormInstance.Handle;
我正在使用
显示windowmyWindowInstance.ShowDialog();
window设置为
ResizeMode="CanResize"
因此,它有一个最小化按钮。在最小化 window 时,它并没有像预期的那样最小化,而是最小化到表单的底部。
我想体验的是父级也会被最小化。意味着最小化 window,将转换为最小化形式。
您可能希望创建事件处理程序以在事件(最小化)发生时控制它们的行为关系。
对于 WPF,您可以使用 Window_StateChanged
事件来检查 this.WindowState == WindowState.Minimized
然后对于 WinForm
你可以通过 Resize
事件来完成这个技巧并检查 WindowState == FormWindowState.Minimized
如果其中任何一个为真,那么您可以将两者最小化。