Microsoft Kinect SDK 1.6 missing KinectSensorChooser component?

c#, kinect, sdk, visual-studio-2012

Solution

I've never added the `KinectSensorChooserUI` control to the toolbox in Visual Studio. The need to do so really isn't there.

If you feel obligated to do so, I found a Adding Your WPF Control To The Toolbox blog post that might be of use. Haven't tried it myself, so I can not promise it will work.

I personally do not use the UI component of the `KinectSensorChooser`. Unless you really plan to be turning the Kinect on/off or switching between multiple Kinects manually, it doesn't really serve much of a purpose. It does provide some feedback, but that can done in other more aesthetically pleasing ways.

To use the `KinectSensorChooser` you simple need the following in your main class:

private readonly KinectSensorChooser _sensorChooser = new KinectSensorChooser();

public MainViewModel()
{
    // other initialization here

    _sensorChooser.Start();

    // more initialization here
}

You now have an active `KinectSensorChooser`, just minus the UI.

If you are dedicated to using the UI component, forgo trying to add it to the toolbox and just do the following:

- Add the Toolkit project or a reference to the .dll.

- Add the namespace to your Xaml so that you can reference the controls in your markup. `xmlns:kt="clr-namespace:Microsoft.Kinect.Toolkit;assembly=Microsoft.Kinect.Toolkit"`

- Add the control to your visual tree `<kt:KinectSensorChooserUI x:Name="SensorChooserUI" />`

Your code behind would declare the namespace, initialize the `KinectSensorChooser` and set up any events you want.

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();

Problem

I am currently following this tutorial http://channel9.msdn.com/Series/KinectQuickstart/Setting-up-your-Development-Environment But at around 9:50 he uses a component called KinectSensorChooser which is not available anymore in the latest SDK 1.6 version because i read Microsoft's SDK History log that states "We’ve taken KinectSensorChooser, formerly part of the WpfViewers and split the logic and UI into two different classes: KinectSensorChooser and KinectSensorChooserUI in Microsoft.Kinect.Toolkit.dll. KinectSensorChooser could be used in non-WPF scenarios as it is logic only, no UI." Source: http://www.windows7download.com/win7-kinect-sdk/history-lxqvgakz.html Since the Microsoft.Kinect does not include the KinectSensorChooser component i added the Microsoft.Kinect.Toolkit reusable component which does include the KinectSensorChooser but the component is not showing up in the toolbox, i tried adding it manually by right clicking on the toolbox and selecting choose items then WPF components then locating it but it imports as a UI (KinectSensorChooserUI) and if i drag it onto the form the component disappears from the toolbox, i am using Visual Studio 2012 Ultimate on Windows 8

Original source