Как я могу переместить всплывающее окно WPF при перемещении его элемента привязки?
У меня есть всплывающее окно, определенное следующим образом:
<Popup
Name="myPopup"
StaysOpen="True"
Placement="Bottom"
PlacementRectangle="0,20,0,20"
PlacementTarget="{Binding ElementName=myPopupAnchor}">
<TextBlock ... />
</Popup>
Я добавил обработчики событий вmyPopupAnchor
элемент для событийMouseEnter
а такжеMouseLeave
, Два обработчика событий переключают видимость всплывающего окна.
Моя проблема в том, что позиция myPopupAnchor читается только тогда, когда всплывающее окно сначала отображается, или скрывается, а затем отображается снова. Если якорь перемещается, всплывающее окно не перемещается.
Я ищу способы обойти это, я хочу всплывающее окно. Могу ли я сообщить WPF, чтоPlacementTarget
привязка изменилась и должна быть прочитана снова? Могу ли я вручную установить позицию всплывающего окна?
В настоящее время у меня есть очень грубый обходной путь, который включает закрытие, а затем повторное открытие всплывающего окна, что вызывает некоторые проблемы с перекрашиванием.