XAML 如何使一个对话框(视图)打开在同一个显示器上作为主窗口

x6492ojm  于 2023-09-28  发布在  其他
关注(0)|答案(3)|浏览(127)

在一台有多个显示器的PC上,假设您运行的应用程序有第二个窗口/对话框,而不是主窗口(如选项),您希望它在与MainWindow相同的屏幕/显示器上打开。如何强迫这种行为?
你基本上想停止的情况下,你的MainWindow是在一个显示器上,当你提出的“选项”页面,它显示在不同的屏幕/显示器。

bbmckpt7

bbmckpt71#

你看过WindowWindowStartupLocation属性吗?
CenterScreen将窗口放置在包含光标的屏幕的中心,这通常应该是好的。例如,如果用户单击窗口上的按钮并打开对话框,则光标仍将在按钮上,因此对话框将显示在同一窗口的中心。
CenterOwner将对话框放置在指定为其所有者的Window的中心。Declare新窗口类似于这样:

MyDialog d = new MyDialog { Owner = parentWindow };
d.ShowDialog();
scyqe7ek

scyqe7ek2#

我想补充一点,如果你将第二个对话框最大化,它将默认为主屏幕。作为一种变通方法,我在OnLoad方法中设置了maximize标志。

n8ghc7c1

n8ghc7c13#

如果希望对话框在与父窗体相同的输出屏幕上打开,则需要设置StartPosition

ChildDialog cd = new ChildDialog() { StartPosition = FormStartPosition.CenterParent };
cd.ShowDialog();

相关问题