自定义窗口位置设置 - 多个监视器 - 父窗口的右下角

时间:2015-03-30 20:04:19

标签: c# wpf

我在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中的正确方法是什么?

----编辑

总结一下,我需要在父窗口的右下方显示我的窗口,无论父窗口大小,窗口状态以及它是否在主显示器或辅助显示器上。

0 个答案:

没有答案