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

----编辑

总结起来,我需要在父窗口的右下角显示我的窗口,而不管父窗口的大小,窗口状态以及它是显示在主显示还是辅助显示上。

  ask by Bartosz translate from so

本文未有回复,本站智能推荐:

1回复

通知窗口在右下角的位置

放置窗口时出现问题。 该窗口不是我的主窗口。 我想将窗口放置在任务栏上方工作区的右下角。 我有以下代码: 该代码的有害结果: 我希望通知窗口在任务栏上方高一些。 我认为我的代码应该可以,但不能。 谢谢你的建议。
1回复

将 WPF 中的窗口设置为右下角

我试图将我的窗口设置在左下角。 窗口没有标题栏, height设置为auto , SizeToContent为Height , WindowStartupLocation为Manual 设置内容后,我正在执行这两行代码: Left = SystemParameters.WorkArea.Width
1回复

将窗口定位在屏幕的右下角

我有一个C#WPF应用程序,我需要在屏幕的右下角显示其窗口。 我怎样才能做到这一点?
7回复

如何将WPF窗口的位置设置为桌面右下角?

我想在窗口启动时在TaskBar的时钟顶部显示我的窗口。 如何找到桌面右下角的位置? 我使用此代码在 windows 窗体应用程序中运行良好,但在 WPF 中无法正常运行:
2回复

在WPF上设置自定义窗口位置

我认为wpf的Window.Width和Window.Height存在一个错误。 我需要用窗口覆盖整个桌面(有两台显示器),但首先让我向您展示为什么我认为有一个错误。 首先让我告诉你我的显示器的分辨率:(两者都有相同的分辨率) 这是我正在使用的视觉工作室的窗口 我不知道你
3回复

如何从自定义WPF窗口获取结果到UserControl中的父窗口

如何将WPF窗口用作消息框? 这是我如何获得消息框的方法。 现在,我希望它返回userControl中的某些值。 有什么帮助吗?
1回复

XAML设计器不显示“自定义窗口”

我有一个从自定义窗口继承的WPF窗口。 它可以正常运行,但是VS设计器将其显示为默认的空白窗口。 自定义窗口代码: MainWindow.xaml : 设计师: 预期结果:
2回复

如何打开对话框并将其放在“父WPF页面”的右下角?

我有一个带有按钮的基本WPF页面(不是窗口) 。 现在,当我单击“按钮”时,我必须打开一个模式对话框并将其放置在父窗口(WPF页面)的右下部分。 我创建了一个模态对话框,如下所示: 现在,我无法确定如何将对话框放置在父WPF页面的右下方。 !! 编辑1:我正在CDialo