2

在 WPF 通过 XAML 到我的 viewModel 中,我想检测画布上的鼠标移动,并仅在按下鼠标左键时对其做出反应。具体来说,我想从我的 viewModel 中的方法获取事件,包括鼠标位置和鼠标按钮状态。有人可以帮我弄这个吗?

我知道我可以在代码隐藏中使用常规 WPF 事件,但在我看来,这样做会“投降”,屈服于 XAML 学习曲线,所以这是最后的手段。

我发现了这个问题,但我买不起 Expression Blend,所以它对我没有帮助: WPF Mouse Over

我看着

<EventTrigger RoutedEvent="Canvas.MouseMove"> . . ., 

但这看起来只适用于动画。

这似乎是人们想要做的常见事情,但我找不到任何东西。

4

2 回答 2

3

您可以创建一个附加的画布行为来接受命令并引发它,您的视图模型将订阅该命令并执行操作。

于 2012-10-24T03:36:59.283 回答
0

第一:你不需要 Expression Blend,你只需要 SDK

或者如果您查看 mvvm light 框架,还有一个 EventToCommand 行为

于 2012-10-24T06:29:55.217 回答