如何级联打开新窗口的位置

本文关键字:窗口 位置 新窗口 何级联 级联 | 更新日期: 2023-09-27 18:21:39

我目前正在打开一个新窗口,其中包含:

var v = new View()
{
    Owner = this,
    WindowStartupLocation = WindowStartupLocation.CenterScreen
};
v.Show();

然而,如果用户试图打开多个窗口,它们就会堆叠在一起。我是否缺少了一些明显的东西来级联它们,使它们都在某种程度上可见?

如何级联打开新窗口的位置

开始工作:

var v = new View()
{
    Owner = this
};
var ownedWindows = OwnedWindows.Cast<Window>().Where(w => w.IsVisible).ToList();
if (!ownedWindows.Any())
{
    v.WindowStartupLocation = WindowStartupLocation.CenterScreen;
}
else
{
    v.WindowStartupLocation = WindowStartupLocation.Manual;
    v.Left = ownedWindows.Max(w => w.Left) + 20;
    v.Top = ownedWindows.Max(w => w.Top) + 20;
}
v.Show();