ポップアップでのみkinectリージョンを使用したい。だから、閉じているときは、kinectカーソルやそのようなものを見たくありません。問題は、ポップアップが開いているときにカーソルが表示されないことです。
これは私のxamlコードです。リージョン内にポップアップがあります。
<k:KinectRegion Name="kurs" Margin="0,0,0,0" >
<Popup Placement="Left" PlacementTarget="{Binding ElementName=OptionOfDrawing}" PopupAnimation="Fade" x:Name="Popup"
IsOpen="False">
<StackPanel Height="325" Width="492" Background="White">
<TextBlock Margin="0 0 0 0">FontSize</TextBlock>
<k:KinectScrollViewer VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Auto"
VerticalAlignment="Bottom">
<StackPanel Orientation="Horizontal" Name="MyScroll" />
</k:KinectScrollViewer>
</Grid>
</StackPanel>
</Popup>
</k:KinectRegion>
この名前空間を追加しました
xmlns:k="http://schemas.microsoft.com/kinect/2013".
これは私のコードビハインドです。
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
if (sen != null && this.Popup.IsOpen == true)
kurs.KinectSensor = KinectSensor.KinectSensors[0];
sen = KinectSensor.KinectSensors.FirstOrDefault();
if (sensor == null)
{
MessageBox.Show("I need kinect");
this.Close();
}
sen.ColorStream.Enable();
sen.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>(sensor_ColorFrameReady);
sen.DepthStream.Enable();
sen.SkeletonStream.Enable();
sen.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>( sensor_SkeletonFrameReady);
sen.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>( sensor_DepthFrameReady);
interactionstream = new InteractionStream(sen, new NewInteractionClient());
interactionstream.InteractionFrameReady += new EventHandler<InteractionFrameReadyEventArgs>( interactionstream_InteractionFrameReady);
sen.Start();
sen.ElevationAngle = 0;
}
1 つの kinect デバイスを 2 つの異なる KinectSensor オブジェクトに接続できないことはほぼ確実です。では、ポップアップが開かれると、kinect デバイスがリージョンに接続され、この行は実行されるべきではありませんか?
sen = KinectSensor.KinectSensors[0];
どんなアドバイスも私にとってはかけがえのないものです。