【发布时间】:2013-06-04 09:06:29
【问题描述】:
我有一个显示图像小缩略图的图像控件, 我想要一个弹出控件,当鼠标悬停在缩略图上时会弹出,并显示图像的一个大实例 只要鼠标悬停在弹出窗口或缩略图上,我还希望弹出窗口保持打开状态
我用“IsMouseOver”试过了,每次他打开时弹出窗口都会闪烁(鼠标在上面移动)
我怎样才能得到这种行为?
谢谢
【问题讨论】:
标签: wpf popup tooltip mouseover
我有一个显示图像小缩略图的图像控件, 我想要一个弹出控件,当鼠标悬停在缩略图上时会弹出,并显示图像的一个大实例 只要鼠标悬停在弹出窗口或缩略图上,我还希望弹出窗口保持打开状态
我用“IsMouseOver”试过了,每次他打开时弹出窗口都会闪烁(鼠标在上面移动)
我怎样才能得到这种行为?
谢谢
【问题讨论】:
标签: wpf popup tooltip mouseover
我假设您希望您的 Popup 在鼠标“要么”在 Image 上方时可见,或者在打开时实际的 Popup 本身可见。
你可以试试这样的:
<Style TargetType="{x:Type Popup}">
<Setter Property="IsOpen"
Value="True" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<!-- Switch "someImage" in the following line to your actual image element -->
<Condition Binding="{Binding ElementName=someImage,
Path=IsMouseOver}"
Value="False" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self},
Path=IsMouseOver}"
Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="IsOpen"
Value="False" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
至于闪烁:
我假设您要么将 Popup 放在 Image 上,要么将其放在鼠标指针当前所在的位置。
^^ 如果是这样,这会将IsOpen 放入True/False 的循环中,只需直接绑定到Image.IsMouseOver
【讨论】: