私は (文字通り) Kinect の NUI を使用してフレームワーク要素をキャッチしたいと考えています。グリッド (またはキャンバス) に楕円があると仮定すると、プログラムを使用して楕円を選択できるはずです。
そのためにはTransform.Position
、Unity のように要素の正確な位置を特定する必要があると考えたのですが、WPF ではそのようなものを見つけることができませんでした。
これが私のXAMLコードです。
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<my:KinectSensorChooser HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="kinectSensorChooser1" />
<my:KinectColorViewer Stretch="Fill" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="kinectColorViewer1" Kinect="{Binding Path=Kinect, ElementName=kinectSensorChooser1}" />
<Ellipse Height="114" Name="ellipse1" Stroke="Black" Fill="Black" VerticalAlignment="Top" Width="120" />
</Grid>
だから私の質問は、グリッド上でその要素を見つけることです。Cursor またはユーザーの手を表す要素を持つことは問題ではありません。しかしその後、カーソルとこれらの要素との衝突を検出する必要があり、それが私を悩ませている部分です。ElementHover や ElementPicked などのイベントも役立ちますが、そのようなものを自分で作成する必要があると思います。
ちなみに、高価で危険な実験などの工学演習用の仮想環境を開発することを目的とした「工学教育ソフトウェア」プロジェクトについてです。