我有一个图像,当鼠标移动时我正在更新它在画布上的位置。
<Popup Name="floatingTip" AllowsTransparency="True" Placement="Relative"
PlacementTarget="{Binding ElementName=MainCanvas}">
<Image Source="{Binding Name}"
Width="{Binding Width}"
Height="{Binding Height}"/>
</Popup>
当鼠标进入画布时,我禁用光标:
private void Canvas_MouseEnter(object sender, MouseEventArgs e)
{
Mouse.OverrideCursor = Cursors.None;
}
当光标在画布内移动时,我会更新弹出窗口的位置,其中包含一个图像:
private void Canvas_MouseMove(object sender, MouseEventArgs e)
{
if (!floatingTip.IsOpen && currentTool == "staticBrush")
{
floatingTip.IsOpen = true;
}
if (currentTool == "staticBrush" && lvDataBinding.SelectedIndex != -1)
{
Point currentPos = e.GetPosition(this);
floatingTip.HorizontalOffset = currentPos.X - (cursorImage.Width / 2.0);
floatingTip.VerticalOffset = currentPos.Y - (cursorImage.Height / 2.0);
cursorImage.Width = 50;
cursorImage.Height = 50;
}
}
当鼠标离开画布时,我将光标设置回Cursors.Arror。
如果图像不在光标下方,也就是说,如果我稍微偏移图像位置,则一切正常。但是如果我将图像直接放在光标下面,图像就会开始用箭头光标闪烁(即使光标被隐藏了)。
答案 0 :(得分:1)
我明白了。我需要在图像上将IsHitTestVisible设置为false。