当Command属性在第三方控件中不可用时,使用RelayCommand替换事件

时间:2011-05-20 12:15:57

标签: wpf devexpress mvvm-light

我在视图上使用Devexpress的SpinEdit控件。它上面有一个名为'EditValueChanging'的事件。我需要从视图的代码隐藏中删除此事件,并在viewmodel中使用RelayCommand。但是,我没有在控件中找到任何绑定RelayCommand的Command属性。此外,我无法在我的viewmodel中实现依赖项属性,因为我已经使用Mvvmlight Toolkit的ViewModelBase继承了它(因此GetValue和SetValue不可用)。 在我的视图的代码隐藏中删除EditValueChanging事件中存在的逻辑并将其放在我的viewmodel中的可能方法是什么?

3 个答案:

答案 0 :(得分:2)

由于您已经在使用MVVMLight,您是否看过它的EventToCommand行为?

Article from the author

Link to source for the class

答案 1 :(得分:1)

您可以尝试this link中找到的代码。它允许您将VM的RelayCommand绑定到任何事件,而不仅仅是按钮的命令事件。我一直都在使用它。

答案 2 :(得分:1)

如果您仍然使用MVVM Light,只需使用EventToCommand行为即可。您可以将任何事件绑定到命令。