【发布时间】:2014-08-29 16:22:14
【问题描述】:
我对 .net 非常熟悉,但对 XAML 很陌生。我已经构建了一个 Kinect 应用程序,它可以识别用户挥手并拍照。现在的问题是我试图识别悬停在 KinectTileButton 上的用户,以便我可以将该图像上传到社交网络。
我已经运行了演示 ControlsBasics WPF,一切正常。我试图将代码移过来,甚至创建了一个新项目,但仍然出现以下错误:
A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: 'The invocation of the constructor on type 'Microsoft.Kinect.Toolkit.Controls.KinectRegion' that matches the specified binding constraints threw an exception.' Line number '36' and line position '10'.
执行this.InitializeComponent(); 时出现异常。我一生都无法弄清楚为什么会得到这个,我已经比较了每个项目中的每个属性并且找不到问题。希望有人以前遇到过这个问题,或者我很容易错过它..
这里是一些 XAML:
<Grid>
<k:KinectRegion Grid.Row="1" x:Name="kinectRegion">
<Grid x:Name="kinectRegionGrid" Margin="10,20,10,20">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="170" />
</Grid.RowDefinitions>
<k:KinectScrollViewer Grid.Row="0" Name="scrollViewer" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<WrapPanel VerticalAlignment="Center" x:Name="wrapPanel" Orientation="Vertical" k:KinectTileButton.Click="KinectTileButtonClick">
<!-- items for design layout. They will be replaced at runtime. -->
<k:KinectTileButton Label="1"/>
<k:KinectTileButton Label="2"/>
<k:KinectTileButton Label="3"/>
<k:KinectTileButton Label="4"/>
<k:KinectTileButton Label="5"/>
<k:KinectTileButton Label="6"/>
<k:KinectTileButton Label="7"/>
<k:KinectTileButton Label="8"/>
<k:KinectTileButton Label="9"/>
<k:KinectTileButton Label="10"/>
</WrapPanel>
</k:KinectScrollViewer>
<Grid Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0, 10, 0, 10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<k:KinectTileButton Grid.Column="0" Label="1" Click="PageRightButtonClick" />
<k:KinectTileButton Grid.Column="2" Label="2" Click="PageRightButtonClick" />
</Grid>
</Grid>
</k:KinectRegion>
【问题讨论】:
-
当您单步执行代码时会发生什么......以及
36线上的实际代码是什么样的,我们在您发布的代码中看不到行号......谢谢 -
看看 InnerException .. 10-1 的几率是你有一个对象没有被正确设置为一个实例..
-
试图通过它只是在
this.InitializeComponent();上炸毁异常中的行号根本没有帮助。 -
如果我注释掉 KinectRegion 它工作得很好。
-
听起来您有参考问题,或者您应该跳过 initializeComponent();代码..如果没有看到代码隐藏,很难看出你在做什么..周末愉快,我出去了