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

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

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

最佳答案

下面将使您的对话框居中到所有者/父窗体。

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 的启动位置是拥有它的 Window 的中心,由 Window.Owner 属性指定。

关于c# - 创建 WPF 弹出窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6171050/

10-09 19:47