在与WPF中的“主窗体”相同的位置打开一个对话框

时间:2018-12-06 16:48:28

标签: wpf

当我单击 MainForm 中的 Button1 时,必须在WPF中打开 AboutForm 作为对话框在MainForm顶部相同位置。如果我使用 Show()方法打开表单,则下面的代码运行良好,但是当我使用 ShowDialog()时,该表单在屏幕中央打开。我也尝试了其他一些选项,例如设置AboutForm的 Owner 属性和 WindowStartupLocation ,但对我不起作用。您能帮我如何在表格顶部的同一位置打开一个对话框吗?

 private void Button1_Click(object sender, RoutedEventArgs e)
            {
                    AboutForm aboutForm = new AboutForm();
                    aboutForm .Show();
                    aboutForm .Left = this.Left;
                    aboutForm .Top = this.Top;
            }

1 个答案:

答案 0 :(得分:1)

在调用ShowDialog()方法之前,您需要设置窗口属性。

private void Button1_Click(object sender, RoutedEventArgs e)
{
    var aboutForm = new AboutForm
    {
        Width = Width,
        Height = Height,
        Left = Left,
        Top = Top,
        Owner = this
    };

    aboutForm.ShowDialog();
}