我正在使用Silverlight 3 VSTS2008.我有一个图像(多尺度图像控件),并在此图像上放置了工具提示.工具提示功能正常工作.由于图像很大(大约500 * 500尺寸),并且由于最终用户可以在图片上移动鼠标,因此我想随鼠标一起显示工具提示位置(即,当鼠标移动时,我希望工具提示随鼠标一起移动).当前,工具提示显示在固定位置.
这是我当前的XAML代码,您如何解决此问题的任何想法?
<MultiScaleImage x:Name="msi" Height="500" Width="500">
<ToolTipService.ToolTip>
<ToolTip Content="Here is a tool tip" Name="DeepZoomToolTip"></ToolTip>
</ToolTipService.ToolTip>
</MultiScaleImage>
解决方法:
我最终遇到了类似的问题,并使用弹出窗口解决了该问题. This帖子包含核心解决方案.这是另一篇文章中建议的XAML:
<Canvas x:Name="LayoutRoot" Background="White">
<Image Source="/pretty-pretty.png" MouseMove="Image_MouseMove" MouseLeave="Image_MouseLeave"/>
<Popup Name="DeepZoomToolTip">
<Border CornerRadius="1" Padding="1" Background="Azure" IsHitTestVisible="False">
<TextBlock Text="Here is a tool tip" />
</Border>
</Popup>
</Canvas>
这是建议的,这将在后面的代码中进行:
private void Image_MouseMove(object sender, MouseEventArgs e)
{
DeepZoomToolTip.IsOpen = true;
DeepZoomToolTip.HorizontalOffset = e.GetPosition(LayoutRoot).X;
DeepZoomToolTip.VerticalOffset = e.GetPosition(LayoutRoot).Y;
}
private void Image_MouseLeave(object sender, MouseEventArgs e)
{
DeepZoomToolTip.IsOpen = false;
}