使用一个带有两个窗口的kinect

时间:2014-10-09 11:04:16

标签: c# wpf kinect kinect-sdk

我是WPF,C#和Kinect的非常新手。但我已经找到了如何初始化kinect,并显示两个窗口。我的应用程序是一个玩具,有一个带按钮的全屏应用程序,当用户点击时,它应该打开一个新窗口。

我试过但有两件事不行:

  • 当新窗口打开时,kinect用户视图将不会显示任何正文
  • 关闭窗口(返回主窗口)时,应用程序崩溃

原型窗口XAML是这样的:

<Window ...>
   <k:KinectRegion Name="region_">
      <Grid>
         <k:KinectUserView .../>
      </Grid>
   </k:KinectRegion>
</Window>

在C#方面,我有一个这样的原型类:

public partial class MainWindow : Window
{
   public KinectSensor sensor_ = KinectSensor.GetDefault();

   public MainWindow()
   {
      //...
      KinectRegion.SetKinectRegion(this, region_);
      this.sensor_.Open();
   }
}

辅助页面(具有与上面相同的构造函数)有一个按钮,可以调用基本上代表sensor_.Close()this.Close()的函数。

我可以使用多个窗口的单个kinect吗?如果没有(请告诉我,我可以!)如何进行两次“观看”?页面AFAIK在网上阅读,请求NavigationWindow,VS抱怨我无法添加kinect区域。

谢谢!

1 个答案:

答案 0 :(得分:0)

事实证明,您不需要关闭传感器。为了使更多的窗口可以使用一个传感器:

  • 将主要版本中初始化的KinectSensor传递给&#34;孩子&#34;窗口
  • 初始化孩子的区域

您只需要this.Close(),无需再次打开流或关闭它。 Kinect用户视图完美无缺。