将父级设置为wpf窗口

时间:2014-09-09 17:06:42

标签: c# wpf

之前我们使用usercontrols来显示模态对话框。 现在决定将其实现为wpf窗口。 我有一个问题。 我想将窗口的父级设置为我的modaldialogwindow的构造函数。 我知道我的父窗口的hwnd(可以按进程名称获取) 并且我不知道如何将子窗口的hwnd(我的模态对话框)变成const。

或者我需要为此窗口设置setparent

    var window = new ModalDialogWindow(Properties.Resources.ChangeLabelPartDialogTitle, ChangeLabelPartDialog);
Setparent(Childhwnd,parenthwnd);
           window.ShowDialog();

但我也不知道如何在showdialog()方法

之前得到这个窗口的hwnd

1 个答案:

答案 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;
    }
}