Kinect检测手指针悬停在磁贴按钮上
本文关键字:按钮 悬停 检测 手指 指针 Kinect | 更新日期: 2023-09-27 18:13:35
我试图检测悬停(如onmouseover)在磁贴按钮上,但它必须是构建在手指针。我找不到构建事件,我已经尝试过了,但它给了我一个异常(在类型"Microsoft.Kinect.Toolkit.Controls"上调用构造函数。匹配指定绑定约束的KinectUserViewer抛出异常
XAML给出异常:
<k:KinectUserViewer k:KinectRegion.KinectRegion="{Binding ElementName=kinectRegion}" HorizontalAlignment="Center" Height="150" VerticalAlignment="Top" Width="150" Canvas.Left="820"/>
<k:KinectRegion KinectSensor="{Binding Kinect, ElementName=kinectSensorChooser1}" Height="919" Width="1920" x:Name="kinectRegion" Canvas.Top="151">
按钮是由forloop自动创建的。
CS:public static readonly RoutedEvent HandPointerEnterEvent = EventManager.RegisterRoutedEvent(
"HandPointerEnter", RoutingStrategy.Direct, typeof(EventHandler<HandPointerEventArgs>), typeof(KinectRegion));
public static readonly RoutedEvent HandPointerLeaveEvent = EventManager.RegisterRoutedEvent(
"HandPointerLeave", RoutingStrategy.Direct, typeof(EventHandler<HandPointerEventArgs>), typeof(KinectRegion));
...
public MainWindow()
{
InitializeComponent();
KinectRegion.AddHandPointerEnterHandler(this, this.OnHandPointerEnter);
KinectRegion.AddHandPointerLeaveHandler(this, this.OnHandPointerLeave);
....
private void OnHandPointerEnter(object sender, HandPointerEventArgs handPointerEventArgs)
{
this.Close();//Trying to see if it works
}
private void OnHandPointerLeave(object sender, HandPointerEventArgs handPointerEventArgs)
{
this.Close();//Trying to see if it works
}
我所尝试的来自这个链接:Kinect SDK 1.7中的移交按钮事件
然而,如果我删除前两行(公共静态),程序工作,但悬停不检测。对于这些行,它将抛出异常。
基本上我首先尝试的是检测悬停,然后关闭程序(给我一个好主意,如果它工作与否)。
Thanks for the help
您的版本
KinectRegion.AddHandPointerEnterHandler(this, this.OnHandPointerEnter);
KinectRegion.AddHandPointerLeaveHandler(this, this.OnHandPointerLeave);
第一个参数'this'表示表单
但必须是"KinectTileButton"
我的版本-它工作。
KinectRegion.AddHandPointerEnterHandler(this.KinectTileButtonName, this.OnHandPointerEnter);
KinectRegion.AddHandPointerLeaveHandler(this.KinectTileButtonName, this.OnHandPointerLeave);