使用WPF,想要全屏打开第二个窗口。问题是当主窗口不在主屏幕中时,第二个窗口不会像主窗口一样在同一屏幕中打开。它会在主屏幕内弹出。无论如何我可以在主窗口的同一屏幕内打开它吗?感谢。
答案 0 :(得分:0)
您应该可以通过将新窗口的启动位置设置为其所有者的中心来执行此操作。这样做的好处是你没有自动设置为所有者的窗口,所以你需要自己动手。从另一个Window
执行此操作应该在同一监视器上全屏打开Window2
实例:
Window2 newWindow = new Window2
{
Owner = this,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
WindowState = WindowState.Maximized
};
newWindow.Show();
答案 1 :(得分: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加载项