我是 Caliburn Micro 的新手,每当左键在 Viewport3D 控件上时,我都会尝试捕获鼠标位置。
在 XAML 中使用它;
cal:Message.Attach="[Event MouseLeftButtonUp] = [Action MouseUp($eventArgs, $source)]
Run Code Online (Sandbox Code Playgroud)
而在 ViewModel 中:
public void MouseUp(MouseEventArgs args, IInputElement elem)
{
Point pt = args.GetPosition(elem);
//do something with pt
}
Run Code Online (Sandbox Code Playgroud)
我可以获得鼠标点击位置。但是,我想在 ViewModel 中拥有的是这样的:
public void MouseUp(Point pt)
{
// do something with pt
}
Run Code Online (Sandbox Code Playgroud)
我不想在我的 ViewModel 中有 IInputElement 参数等——事件是由 Viewport 引发的,所以它应该被视为 IInputElement。
我能做到这一点吗?
提前致谢。