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

本文关键字:鼠标 事件 停止工作 Silverlight 自定义 光标 如果 | 更新日期: 2023-09-27 18:28:04

我有一个silverlight应用程序,其中我使用以下代码用csuomt替换了鼠标光标:

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);
}

主窗口.xaml

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

主窗口.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等上的单击事件都停止工作。如何更正此行为,以便只替换鼠标光标,而其他已编码的事件也能正常工作?

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

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

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