如果使用自定义光标,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 MouseLeave
、MouseClick
等上的单击事件都停止工作。如何更正此行为,以便只替换鼠标光标,而其他已编码的事件也能正常工作?
尝试在自定义光标控件上将IsHitTestVisible设置为false
CustomC = new CustomC();
SutomC.IsHitTestVisible = false;
CustomC.SetSource("GlowingCur.png");
LayoutRoot.Children.Add(CustomC);