Microsoft Kinect SDK 1.6缺少KinectSensorChooser组件?

时间:2012-11-25 20:13:29

标签: c# visual-studio-2012 sdk kinect

我目前正在学习本教程

http://channel9.msdn.com/Series/KinectQuickstart/Setting-up-your-Development-Environment

但是在9点50分左右,他使用了一个名为KinectSensorChooser的组件,这个组件在最新的SDK 1.6版本中不再可用,因为我阅读了微软的SDK历史记录日志,其中说明了

“我们采用了KinectSensorChooser,以前是WpfViewers的一部分,将逻辑和UI拆分为两个不同的类:Microsoft.Kinect.Toolkit.dll中的KinectSensorChooser和KinectSensorChooserUI。 KinectSensorChooser可用于非WPF场景,因为它只是逻辑,没有UI。“

来源:http://www.windows7download.com/win7-kinect-sdk/history-lxqvgakz.html

由于Microsoft.Kinect不包含KinectSensorChooser组件,我添加了包含KinectSensorChooser的Microsoft.Kinect.Toolkit可重用组件,但组件未显示在工具箱中,我尝试通过右键单击手动添加它工具箱和选择项目,然后选择项目,然后定位它,但它导入为UI(KinectSensorChooserUI),如果我将其拖到窗体上,组件从工具箱中消失,我在Windows 8上使用Visual Studio 2012 Ultimate

1 个答案:

答案 0 :(得分:5)

我从未在Visual Studio中将KinectSensorChooserUI控件添加到工具箱中。真的不需要这样做。

如果你觉得有义务这样做,我发现了一篇可能有用的Adding Your WPF Control To The Toolbox博文。没有亲自尝试过,所以我不能保证它会起作用。

我个人不使用KinectSensorChooser的UI组件。除非你真的打算开启/关闭Kinect或手动切换多个Kinect,否则它并没有真正起到很大作用。它确实提供了一些反馈,但这可以通过其他更美观的方式完成。

要使用KinectSensorChooser,您需要在主课程中使用以下内容:

private readonly KinectSensorChooser _sensorChooser = new KinectSensorChooser();

public MainViewModel()
{
    // other initialization here

    _sensorChooser.Start();

    // more initialization here
}

您现在有一个有效的KinectSensorChooser,只是减去了用户界面。

如果您致力于使用UI组件,请尝试将其添加到工具箱中,然后执行以下操作:

  1. 添加Toolkit项目或对.dll的引用。
  2. 将命名空间添加到Xaml,以便您可以引用标记中的控件。 xmlns:kt="clr-namespace:Microsoft.Kinect.Toolkit;assembly=Microsoft.Kinect.Toolkit"
  3. 将控件添加到可视树中 <kt:KinectSensorChooserUI x:Name="SensorChooserUI" />
  4. 您的代码将声明命名空间,初始化KinectSensorChooser并设置您想要的任何事件。

    using Microsoft.Kinect;
    using Microsoft.Kinect.Toolkit;
    
    private readonly KinectSensorChooser _sensorChooser = new KinectSensorChooser();
    
    // somewhere in your constructor, or other init function
    this.SensorChooserUI.KinectSensorChooser = _sensorChooser;
    _sensorChooser.Start();