private void TestHit(Point screenPos) { VisualTreeHelper.HitTest(Viewport, null, result => { if (result is RayMeshGeometry3DHitTestResult rayHitResult) { if (rayHitResult.ModelHit is GeometryModel3D model) { BlocksViewModel vm = (BlocksViewModel)DataContext; // TODO: Ugly dependency on the model here! vm.GeometryModelClicked(model); } return(HitTestResultBehavior.Stop); } return(HitTestResultBehavior.Continue); }, new PointHitTestParameters(screenPos)); }