我在WPF中设置自定义窗口时遇到问题 - 它应该是一个弹出信息,在父窗口的右下方打开。
我尝试了几件事:
这将始终显示主显示屏右下角的弹出窗口:
var desktopWorkingArea = System.Windows.SystemParameters.WorkArea;
this.Left = desktopWorkingArea.Right - this.Width;
this.Top = desktopWorkingArea.Bottom - this.Height;
这只有在窗口没有最大化时才有效,而在最大化窗口时有效:
var parent = Application.Current.MainWindow;
this.Left = parent.ActualWidth + parent.Left - this.Width;
this.Top = parent.ActualHeight + parent.Top - this.Height;
然而,当我移动窗口(最大化等)时,我的弹出窗口将在屏幕上随机出现。 在winforms中,我曾经这样做,就像
一样简单FileDownloadedPopup pop = new FileDownloadedPopup();
pop.SetFileInfoLabel(downloadPath);
pop.Location = new Point(form.Right - pop.Width,
form.Bottom - pop.Height);
WPF中的正确方法是什么?
----编辑
总结一下,我需要在父窗口的右下方显示我的窗口,无论父窗口大小,窗口状态以及它是否在主显示器或辅助显示器上。