如何在没有代码隐藏的情况下在我的viewmodel中使用xaml的wpf事件?

时间:2012-10-24 01:31:37

标签: wpf events xaml viewmodel

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

我知道我可以在代码隐藏中使用常规WPF事件,但在我看来这样做会“放弃”,放弃XAML学习曲线,这是最后的选择。

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

我查看了

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

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

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

2 个答案:

答案 0 :(得分:3)

您可以创建画布的附加行为,接受该命令并将其抬起,您的视图模型将订阅该命令并执行操作。

答案 1 :(得分:0)

首先:你不需要Expression Blend,你只需要SDK

或者如果你看一下mvvm light框架,那么还有一个EventToCommand行为