繁体   English   中英

如果使用自定义光标,Silverlight鼠标事件将停止工作

[英]Silverlight mouse events stop working if custom cursor used

我有一个silverlight应用程序,其中使用以下代码将csuomt替换为Mouse Cursor:

UserControl:CustomC.xaml

<UserControl...>
    <Canvas>
    <Image x:Name="EGCursor" Visibility="Collapsed"></Image>
    </Canvas>
</UserControl>

UserControl:CustomC.xaml.cs

public void SetSource(string resource)
{
    EGCursor.Source = new BitmapImage(new Uri(resource, UriKind.Relative));
    EGCursor.Stretch = Stretch.None;
}
    public void MoveTo(Point pt)
{
    EGCursor.Visibility = Visibility.Visible;
    EGCursor.SetValue(Canvas.LeftProperty, pt.X - 13);
    MyCursor.SetValue(Canvas.TopProperty, pt.Y - 12);
}

MainWindow.xaml

<UserControl x:Class="SL.MainPage"... Cursor="None">
...
</UserControl>

MainWindow.xaml.cs

MainWindow()
{
CustomC = new CustomC();
CustomC.SetSource("GlowingCur.png");
LayoutRoot.Children.Add(CustomC);
}

void MainPage_MouseMove(object sender, MouseEventArgs e)
{
    CustomC.MoveTo(e.GetPosition(null));
}

在对自定义光标执行上述操作时,我的Silverlight MouseLeaveMouseClick等上的click事件全部停止工作。 如何纠正此行为,以便仅替换鼠标光标,并且已经编码的其他事件也能正常工作?

尝试在自定义光标控件上将IsHitTestVisible设置为false:

CustomC = new CustomC();
SutomC.IsHitTestVisible = false;
CustomC.SetSource("GlowingCur.png");
LayoutRoot.Children.Add(CustomC);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM