创建 WPF 弹出窗口

问题描述 投票:0回答:2

我想创建一个模式弹出窗口。到目前为止,我已经制作了一个在需要时创建的窗口。但我认为这不是正确的做法。问题是,每次我调用它时,它都会向右打开约 20px,并且比上一次低 20px。它很烦人。这是默认行为还是我在这里做错了什么?

Success win1 = new Success();
win1.ShowDialog();

另外,如果可能的话,我希望它居中?

c# wpf dialog popup wpf-positioning
2个回答
6
投票

下面将使您的对话框居中于所有者/父表单。

Success win1 = new Success();
win1.Owner = this; // For example , see the parent window here
win1.WindowStartupLocation = WindowStartupLocation.CenterOwner;
win1.ShowDialog();

如果您想尝试,以下是替代方案。如果您想将其居中于屏幕,请使用“CenterScreen”

手动 - 窗口的启动位置通过代码设置,或遵循默认的 Windows 位置。

CenterScreen - 窗口的启动位置是包含鼠标光标的屏幕中心。

CenterOwner - 窗口的启动位置是拥有它的窗口的中心,由 Window.Owner 属性指定。


4
投票

您想要设置成功窗口的 WindowStartupLocation 成员。听起来 CenterOwner 就是您想要的值。

© www.soinside.com 2019 - 2024. All rights reserved.