【发布时间】:2011-08-22 19:17:03
【问题描述】:
这个问题的反面已经回答了很多次了。
public static void SetOwner(object activeWindow, object dialog)
{
if (IsWindow(dialog) && IsWindow(activeWindow))
{
(dialog as Window).Owner = (activeWindow as Window);
}
else if (IsForm(dialog) && IsForm(activeWindow))
{
(dialog as Form).Owner = (activeWindow as Form);
}
else if (IsWindow(dialog) && IsForm(activeWindow))
{
var wih = new WindowInteropHelper(dialog as Window);
wih.Owner = (activeWindow as Form).Handle;
}
else if (IsForm(dialog) && IsWindow(activeWindow))
{
var dialogForm = dialog as Form;
var ownerWindow = activeWindow as Window;
// What goes here?
}
}
【问题讨论】:
-
您不必指定所有者,Form.ShowDialog() 会找到一个。
-
这能回答你的问题吗? Winform dialog with WPF window as Parent