6

我目前正在关注本教程

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

但在 9:50 左右,他使用了一个名为 KinectSensorChooser 的组件,该组件在最新的 SDK 1.6 版本中不再可用,因为我阅读了 Microsoft 的 SDK 历史日志,其中指出

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

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

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

4

1 回答 1

5

我从未将KinectSensorChooserUI控件添加到 Visual Studio 的工具箱中。确实没有这样做的必要。

如果您觉得有义务这样做,我发现了一篇将您的 WPF 控件添加到工具箱的博客文章,该文章可能有用。我自己没有尝试过,所以我不能保证它会起作用。

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

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

private readonly KinectSensorChooser _sensorChooser = new KinectSensorChooser();

public MainViewModel()
{
    // other initialization here

    _sensorChooser.Start();

    // more initialization here
}

你现在有了一个 active KinectSensorChooser,只是减去了 UI。

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

  1. 添加 Toolkit 项目或对 .dll 的引用。
  2. 将命名空间添加到 Xaml,以便可以引用标记中的控件。xmlns:kt="clr-namespace:Microsoft.Kinect.Toolkit;assembly=Microsoft.Kinect.Toolkit"
  3. 将控件添加到您的可视化树中 <kt:KinectSensorChooserUI x:Name="SensorChooserUI" />

您后面的代码将声明命名空间,初始化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();
于 2012-11-25T22:42:03.707 回答