使用带有两个窗口的一个运动学
本文关键字:一个 运动学 窗口 两个 | 更新日期: 2023-09-27 18:26:00
我是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抱怨我无法添加运动区域。
谢谢!
事实证明,您不需要关闭传感器。为了让更多的窗口与一个传感器一起工作:
- 将主窗口中初始化的
KinectSensor
传递到"子"窗口 - 初始化子区域
你只需要this.Close()
,而不需要再打开或关闭流。Kinect用户视图工作得很完美。