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