MouseEventHandler を使用して Viewport3D をセットアップしました
[...]
Main3DWindow.MouseUp += new MouseButtonEventHandler(mainViewport_MouseUp);
[...]
void mainViewport_MouseUp (object sender, MouseButtonEventArgs e) {
Point location = e.GetPosition(Main3DWindow);
ModelVisual3D result = GetHitTestResult(location);
if (result == null) {
_CurrentData.Unselect();
return;
}
_CurrentData.SelectItemFromObjectList(result);
}
そして、オブジェクトがクリックされると、かなりうまく機能します。私の期待は次のとおりです。オブジェクトがクリックされない場合 (ユーザーがバックグラウンドでクリックしたため)、結果は null になります。しかし、実際には mainViewport_MouseUp メソッドは呼び出されません。
私の質問: Viewport3D の背景でクリックを検出するにはどうすればよいですか?