Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Kinect区域内的手部检测(光标)在新项目中不起作用_C#_Wpf_Kinect_Kinect Sdk_Kinect.toolbox - Fatal编程技术网

C# Kinect区域内的手部检测(光标)在新项目中不起作用

C# Kinect区域内的手部检测(光标)在新项目中不起作用,c#,wpf,kinect,kinect-sdk,kinect.toolbox,C#,Wpf,Kinect,Kinect Sdk,Kinect.toolbox,我有两个非常简单的Kinect for Windows项目 一个项目基于名为ControlsBasics WPF的原始Kinect for Windows development SDK V2代码示例(可在V2 SDK浏览器中找到),另一个项目是通过新项目从头创建的,随后通过nuget package manager引用Kinect SDK 这两个项目中的代码相当于以下XAML <kinectTools:KinectRegion x:Name="kinectRegion">

我有两个非常简单的Kinect for Windows项目

一个项目基于名为ControlsBasics WPF的原始Kinect for Windows development SDK V2代码示例(可在V2 SDK浏览器中找到),另一个项目是通过新项目从头创建的,随后通过nuget package manager引用Kinect SDK

这两个项目中的代码相当于以下XAML

<kinectTools:KinectRegion x:Name="kinectRegion">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="2*" />
            <RowDefinition Height="8*" />
        </Grid.RowDefinitions>
        <kinectTools:KinectUserViewer Grid.Row="0" />


    </Grid>
</kinectTools:KinectRegion>
如果我运行项目,预期的行为是,一旦手臂(左或右)抬起,屏幕上定义的
KinectRegion
区域内就会出现一个光标

然而,尽管基于ControlsBasics WPF示例代码的版本坚如磐石,并且几乎立即按照预期运行(光标出现并跟踪)。基于新项目的版本表现出间歇性行为,很少有光标出现在屏幕上

请找出以下两种解决方案来说明问题:

  • 还要注意,我特意从SDK代码示例版本中删除了dll引用,并使用nuget引用SDK,以确保引用了相同的库,而这不会影响行为。这两个项目中的代码(尽我所能)是相同的,但显然我遗漏了一些东西


    任何意见都将不胜感激

    制作kinect支持的WPF程序所需的全部内容是:

    1-创建一个新的WPF程序。 2-添加参考“Microsoft.Kinect”和“Microsoft.Kinect.Wpf.Controls”。 3-将此行添加到xaml页面中的窗口对象。 xmlns:k=”http://schemas.microsoft.com/kinect/2014"

    最后,创建一个kinect区域对象,也许在其中添加一个按钮。 比如:

    {

    
    
    }

    运行项目时,您应该能够看到手动光标,并按下刚刚创建的按钮。 全部仅具有一个xaml页面。 看起来与此相同:

    <Window x:Class="KinectDynamicAppLive.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:k="http://schemas.microsoft.com/kinect/2014"
            Title="MainWindow" Height="350" Width="525">
        <k:KinectRegion x:Name="kinectRegion">
        <Grid>
                <Button Content="sdfsdfdsfsdfsdf" Background="#FF2F55A6" BorderThickness="6"  Width="150" Height="50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
    
            </Grid>
          </k:KinectRegion>
    </Window>
    
    
    
    <k:KinectRegion x:Name="kinectRegion">
    <Grid>
    <Button Content="sdfsdfdsfsdfsdf" Background="#FF2F55A6" BorderThickness="6"  Width="150" Height="50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
    </Grid>
    </k:KinectRegion>
    
    <Window x:Class="KinectDynamicAppLive.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:k="http://schemas.microsoft.com/kinect/2014"
            Title="MainWindow" Height="350" Width="525">
        <k:KinectRegion x:Name="kinectRegion">
        <Grid>
                <Button Content="sdfsdfdsfsdfsdf" Background="#FF2F55A6" BorderThickness="6"  Width="150" Height="50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
    
            </Grid>
          </k:KinectRegion>
    </Window>