如何在 WPF 中为子窗口提供不超出主窗口的边界
本文关键字:窗口 边界 WPF | 更新日期: 2023-09-27 17:55:21
我真的有一个简单的问题,但我似乎找不到它。我正在使用 WPF,并且正在创建一个显示简单视图的子窗口(类窗口)。现在我可以移动窗口,但我想要的是它不能移动到主窗口之外。(如果我没记错的话,我认为 Popup 控件具有这种行为)。有什么简单的方法可以做到这一点吗?
如果不清楚,请告诉我。
提前谢谢。
亲切问候Qwin
将父窗口作为子窗口的所有者并调整位置
public MainWindow()
{
InitializeComponent();
LocationChanged += new EventHandler(Window_LocationChanged);
}
ChildWindow win = new ChildWindow();
win.Owner = this;
win.Show();
private void Window_LocationChanged(object sender, EventArgs e)
{
Console.WriteLine("LocationChanged - ({0},{1})", this.Top, this.Left);
foreach (Window win in this.OwnedWindows)
{
win.Top = this.Top + 100;
win.Left = this.Left + 100;
}
}