title: Intercept a move event in a WPF Window before the move happens on the screen?
body: <p>I have an app where I create a Window in WPF that the user can drag around.    I'd like to limit it so it doesn't go over the parent window's main menu.    If I handle the <em>WindowLocationChanged</em> event it's fired <strong>after</strong> the change has already taken place so the only thing I can do is force the window back to some other position, which creates bad visual effects.</p>
  
  <p>Is there any event I can handle <strong>before</strong> the move has actually occurred so I can incercept the window and force it to stay within certain limits?    Some commercial WPF libraries support an <em>OnMoving</em> event which gets fired before the move actually happens on the screen.   Is there anything like that in native WPF (staying within the managed code environment, if possible)?</p>
  
  <p>Alternatively, is there any way to use dependency properties to set max or min x,y values?  (N.B., I'm moving it, not resizing it)</p>
  
  <p>Thanks in advance. </p>