0

使用 WPF,想要全屏打开第二个窗口。问题是当主窗口不在主屏幕中时,第二个窗口不会像主窗口一样在同一个屏幕中打开。它在主屏幕内弹出。无论如何我可以像主窗口一样在同一屏幕内打开它吗?谢谢。

4

2 回答 2

1

您应该可以通过将新窗口的启动位置设置为以其所有者为中心来执行此操作。这样做的问题是您不会自动将打开的窗口设置为所有者,因此您需要自己做。从另一个人执行此操作Window应在同一监视器上打开Window2实例全屏:

Window2 newWindow = new Window2
{
    Owner = this,
    WindowStartupLocation = WindowStartupLocation.CenterOwner,
    WindowState = WindowState.Maximized
};
newWindow.Show();
于 2013-02-16T18:58:19.837 回答
0

给定的窗口是要居中的窗口的实例

var window = new MyWpfWindow();

var handle = Process.GetCurrentProcess().MainWindowHandle;
var helper = new WindowInteropHelper(window);
helper.Owner = handle; 
window.WindowState = WindowState.Maximized;         
window.WindowStartupLocation = WindowStartupLocation.CenterOwner;

window.ShowDialog();

这将自动检索当前主窗口并居中并在同一屏幕中最大化孩子,它适用于 Excel VSTO 加载项

于 2017-10-09T10:34:34.880 回答