Когда вы устанавливаете PlacementMode, вы предлагаете, где бы вы хотели, чтобы всплывающее окно отображалось относительно PlacementTarget, PlacementRectangle или по умолчанию его родитель. В целях безопасности всплывающее окно не может быть нарисовано за пределами экрана.
Ссылка на размещение всплывающего окна:
http://msdn.microsoft.com/en-us/library/bb613596.aspx
Если вы хотите лучше контролировать способ отображения всплывающего окна при столкновении с краем экрана, можно указать пользовательскую позицию всплывающего окна.
Как описано здесь:
http://msdn.microsoft.com/en-us/library/ms743607.aspx
Это позволяет вам указать первичное смещение и выравнивание и вторичное, если первое не доступно. Когда возникает конфликт, он выбирает место размещения, которое отображает наибольшую часть всплывающего окна.
Если вам действительно нужны координаты вашего всплывающего окна, в этом посте есть трюк с win32, который вы можете использовать для точного определения местоположения вашего всплывающего окна.
WPF Popup Control - Найти координаты X, Y
Но вы должны быть в состоянии решить большинство проблем с макетом, указав пользовательскую позицию.