我有一个列表视图,其中一列只显示图像。当用户明确鼠标左键单击图像时,我想在图像上显示工具提示。当用户鼠标悬停在任何图像上时,我不想显示工具提示。
答案 0 :(得分:0)
您可以使用Popup
代替工具提示,点击后将Popup.IsOpen
设置为true
。可能需要调整展示位置设置,Popup.StaysOpen
也可能设置为false
。
编辑:如重复问题所示,Tooltip几乎具有相同的功能。只需要明确处理它。
<DataTemplate>
<Image Name="image" MaxHeight="48" Source="{Binding ImgUri}" ToolTipService.IsEnabled="False">
<Image.Triggers>
<EventTrigger RoutedEvent="Image.MouseLeftButtonUp">
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames Storyboard.Target="{x:Reference image}"
Storyboard.TargetProperty="ToolTip.IsOpen">
<DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="False"/>
<DiscreteBooleanKeyFrame KeyTime="0:0:0.0001" Value="True"/>
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
<Image.Resources>
<ToolTip x:Key="tip" StaysOpen="False">
<Image Source="{Binding Source={x:Reference image}, Path=Source}"/>
</ToolTip>
</Image.Resources>
<Image.ToolTip>
<StaticResource ResourceKey="tip"/>
</Image.ToolTip>
</Image>
</DataTemplate>
请注意,已通过ToolTipService.IsEnabled="False"
(以上示例显示了弹出窗口中没有大小限制的图像)