How can i pass kinect tracking into another form

后端 未结 1 1845
轻奢々
轻奢々 2021-01-26 10:14

I have a kinect project in wpf and it uses skeleton stream that tracks the left and right hand of its users and allows me to hover over buttons.

I tried making a new for

相关标签:
1条回答
  • 2021-01-26 10:53

    You can do this in a couple of different ways, and more ways then what is below.

    You could pass a reference to the sensor itself to the new window when it is created:

    public MainWindow()
    {
        // init code for window and Kinect
    
        // show the second window
        SecondWindow mySecondWindow = new SecondWindow(_Kinect);
        mySecondWindow.Show();
    
        // other stuff...
    }
    
    public class SecondWindow : Window
    {
        public SecondWindow(KinectSensor sensor)
        {
            // ... stuff
    
            sensor.SkeletonFrameReady += SkeletonFrameReadyCallback;
    
            // ... more stuff
        }
    }
    

    Then subscribe to the SkeletonFrameReady callback in your second window. This might work for your situation if you are interacting with items in the seconds window.

    Another way would be to create a public callback inside your second window and subscribe it to the SkeletonFrameReady event.

    public MainWindow()
    {
        // init code for window and Kinect
    
        // show the second window
        SecondWindow mySecondWindow = new SecondWindow(_Kinect);
        mySecondWindow.Show();
    
        _Kinect.SkeletonFrameReady += mySecondWindow.SkeletonFrameReadyCallback;
    }
    

    I also notice in your code that you are firing events. If you are wanting to act on events from one window in a different window, you can subscribe to those custom events in the same mentioned above.

    0 讨论(0)
提交回复
热议问题