[英]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 MouseLeave
, MouseClick
等上的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.