如何让一个子窗口限制不要在WPF中的MainWindow之外

时间:2015-06-11 20:53:39

标签: c# wpf window

我有一个简单的问题,但我似乎无法找到它。我正在使用WPF,我正在创建一个显示简单视图的子窗口(类窗口)。现在我可以移动窗口但是我想要的是它不能移动到主窗口外面。 (我认为如果我没有误会,Popup控件会有这种行为)。我可以做任何简单的方法吗?

如果不清楚,请告诉我。

提前致谢。

亲切的问候, QWIN

1 个答案:

答案 0 :(得分:2)

使您的父窗口成为子窗口的所有者并调整位置

 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;
   }
  }