之前我们使用usercontrols来显示模态对话框。 现在决定将其实现为wpf窗口。 我有一个问题。 我想将窗口的父级设置为我的modaldialogwindow的构造函数。 我知道我的父窗口的hwnd(可以按进程名称获取) 并且我不知道如何将子窗口的hwnd(我的模态对话框)变成const。
或者我需要为此窗口设置setparent
var window = new ModalDialogWindow(Properties.Resources.ChangeLabelPartDialogTitle, ChangeLabelPartDialog);
Setparent(Childhwnd,parenthwnd);
window.ShowDialog();
但我也不知道如何在showdialog()
方法
答案 0 :(得分:1)
父窗口的句柄就是您所需要的。要设置对话框窗口的父级,可以使用System.Windows.Interop.WindowInteropHelper类,如下面的代码所示:
public partial class ModalDialogWindow : Window
{
public ModalDialogWindow(IntPtr parentWindowHandle)
{
InitializeComponent();
var interop = new WindowInteropHelper(this);
interop.EnsureHandle();
// this is it
interop.Owner = parentWindowHandle;
}
}