私は Caliburn Micro を初めて使用し、Viewport3D コントロールで左ボタンが押されたときにマウスの位置をキャプチャしようとしています。
これを XAML で使用します。
cal:Message.Attach="[Event MouseLeftButtonUp] = [Action MouseUp($eventArgs, $source)]
そしてViewModelのそれ:
public void MouseUp(MouseEventArgs args, IInputElement elem)
{
Point pt = args.GetPosition(elem);
//do something with pt
}
マウスのヒット位置を取得できます。ただし、ViewModel に入れたいのは次のようなものです。
public void MouseUp(Point pt)
{
// do something with pt
}
ViewModel に IInputElement パラメータなどを含めたくありません。イベントは Viewport によって発生するため、IInputElement と見なす必要があります。
これを達成できますか?
前もって感謝します。