- События
Popup.Opened
и Popup.Closed
запускаются, когда всплывающее окно отображается и скрывается.
- Я бы установил
Popup.PlacementRectangle
на основе источника Control
, который можно получить с помощью метода Control.PointToScreen
следующим образом:
Point location = originControl.PointToScreen(new Point(0, 0));
Вам нужно будет прослушать событие UIElement.LayoutUpdated
(и, возможно, некоторые другие события), чтобы определить, когда позиция управления изменилась.