我有一个这样定义的弹出窗口:
<Popup
Name="myPopup"
StaysOpen="True"
Placement="Bottom"
PlacementRectangle="0,20,0,20"
PlacementTarget="{Binding ElementName=myPopupAnchor}">
<TextBlock ... />
</Popup>
我已经为myPopupAnchor
元素添加了MouseEnter
和MouseLeave
事件处理程序。这两个事件处理程序切换弹出窗口的可见性。我的问题是当弹出窗口第一次显示或隐藏后再次显示时,仅在
myPopupAnchor
的位置被读取。如果锚点移动,弹出窗口将不会移动。我正在寻找解决方法,希望能够实现弹出窗口的移动。我可以通知WPF绑定的
PlacementTarget
已更改并应重新读取吗?我可以手动设置弹出窗口的位置吗?目前,我有一个非常简陋的解决方法,涉及关闭然后重新打开弹出窗口,这会导致一些重绘问题。
ComboBox
实现。但是我无法弄清楚它是如何移动Popup
的。虽然没有关于ComboBox
如何移动Popup
的指导,但你有任何想法吗? - amiry jdmyPopup.HorizontalOffset++; myPopup.HorizontalOffset--;
。 - Danny Beckett