【发布时间】:2010-12-08 16:25:20
【问题描述】:
我有一个这样定义的弹出窗口:
<Popup
Name="myPopup"
StaysOpen="True"
Placement="Bottom"
PlacementRectangle="0,20,0,20"
PlacementTarget="{Binding ElementName=myPopupAnchor}">
<TextBlock ... />
</Popup>
我已经为MouseEnter 和MouseLeave 事件的myPopupAnchor 元素添加了事件处理程序。这两个事件处理程序切换弹出窗口的可见性。
我的问题是 myPopupAnchor 的位置仅在弹出窗口第一次显示或隐藏然后再次显示时读取。如果锚点移动,则弹出窗口不会移动。
我正在寻找解决此问题的方法,我想要一个移动的弹出窗口。我可以通知 WPF PlacementTarget 绑定已更改并且应该再次读取吗?我可以手动设置弹窗的位置吗?
目前,我有一个非常粗略的解决方法,涉及关闭然后再次打开弹出窗口,这会导致一些重新绘制问题。
【问题讨论】: