2012-11-25 39 views
6

Tôi hiện đang làm theo hướng dẫn nàyMicrosoft Kinect SDK 1.6 thiếu thành phần KinectSensorChooser?

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

Nhưng vào khoảng 09:50 ông sử dụng một thành phần được gọi KinectSensorChooser mà không có sẵn nữa trong phiên bản mới nhất SDK 1.6, vì tôi đọc nhật ký Lịch sử SDK của Microsoft khẳng định

"Chúng tôi đã lấy KinectSensorChooser, trước đây là một phần của WpfViewers và chia logic và giao diện người dùng thành hai lớp khác nhau:. KinectSensorChooser và KinectSensorChooserUI trong Microsoft.Kinect.Toolkit.dll KinectSensorChooser có thể được sử dụng trong phi WPF kịch bản vì nó chỉ là logic, không có giao diện người dùng. "

Nguồn: http://www.windows7download.com/win7-kinect-sdk/history-lxqvgakz.html

Kể từ khi Microsoft.Kinect không bao gồm các thành phần KinectSensorChooser tôi đã thêm các thành phần tái sử dụng Microsoft.Kinect.Toolkit mà không bao gồm các KinectSensorChooser nhưng thành phần không được hiển thị trong hộp công cụ, tôi đã cố gắng thêm nó bằng tay bằng cách nhấp chuột phải vào hộp công cụ và chọn các mục sau đó WPF thành phần sau đó định vị nó nhưng nó nhập khẩu như một giao diện người dùng (KinectSensorChooserUI) và nếu tôi kéo nó vào mẫu thành phần biến mất khỏi hộp công cụ, tôi đang sử dụng Visual Studio 2012 Ultimate trên Windows 8

Trả lời

5

Tôi chưa bao giờ thêm điều khiển KinectSensorChooserUI vào công cụ bò trong Visual Studio. Sự cần thiết phải làm như vậy thực sự là không có.

Nếu bạn cảm thấy có nghĩa vụ phải làm như vậy, tôi đã tìm thấy bài đăng trên blog Adding Your WPF Control To The Toolbox có thể được sử dụng. Đã không thử nó bản thân mình, vì vậy tôi không thể hứa nó sẽ làm việc.

Cá nhân tôi không sử dụng thành phần giao diện người dùng của KinectSensorChooser. Trừ khi bạn thực sự có kế hoạch để chuyển Kinect on/off hoặc chuyển đổi giữa nhiều Kinects bằng tay, nó không thực sự phục vụ nhiều mục đích. Nó cung cấp một số phản hồi, nhưng điều đó có thể được thực hiện theo các cách khác mang tính thẩm mỹ hơn.

Để sử dụng KinectSensorChooser bạn đơn giản cần thiết sau đây trong lớp học chính của bạn:

private readonly KinectSensorChooser _sensorChooser = new KinectSensorChooser(); 

public MainViewModel() 
{ 
    // other initialization here 

    _sensorChooser.Start(); 

    // more initialization here 
} 

Bây giờ bạn có một hoạt động KinectSensorChooser, chỉ trừ giao diện người dùng.

Nếu bạn đang dành riêng cho sử dụng các thành phần giao diện người dùng, từ bỏ cố gắng để thêm nó vào hộp công cụ và chỉ cần làm như sau:

  1. Thêm dự án Toolkit hoặc một tham chiếu đến .dll.
  2. Thêm không gian tên vào Xaml của bạn để bạn có thể tham khảo các điều khiển trong đánh dấu của mình. xmlns:kt="clr-namespace:Microsoft.Kinect.Toolkit;assembly=Microsoft.Kinect.Toolkit"
  3. Thêm điều khiển để cây thị giác của bạn <kt:KinectSensorChooserUI x:Name="SensorChooserUI" />

Mã của bạn đằng sau sẽ khai báo không gian tên, khởi tạo KinectSensorChooser và thiết lập bất kỳ sự kiện nào bạn muốn.

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