EventToCommand与MVVM中的行为

时间:2015-03-10 13:50:53

标签: .net wpf mvvm

您何时使用方法行为以及何时EventToCommand?我认为,如果要做的工作非常具体,最好使用EventToCommand并在ViewModel中实现工作。当作业可以重复使用时,最好将功能实现为行为。

更新: 例如,函数DoPreviewKeyDown

        private void DoPreviewKeyDown(KeyEventArgs e)
    {
        var view = (TableView)e.Source;
        if (e.Key == Key.Tab)
        {
            if (ReferenceEquals(view.Grid.CurrentColumn, view.VisibleColumns[view.VisibleColumns.Count - 1]))
            {
                view.SearchControl.Focus();
                e.Handled = true;
            }
        }
        else if (e.Key == Key.Enter)
        {
            if (OkCommand != null)
                OkCommand.Execute(null);
            e.Handled = true;
        }
        else if ((e.Key == Key.F) && (Keyboard.Modifiers == ModifierKeys.Control))
        {
            view.SearchControl.Focus();
        }
    }

我在我的ViewModel中做到了这一点。我可以在行为中执行此操作,但此功能对于此grid非常具体。这就是为什么,我认为在我的ViewModel中这样做更好。

您认为这种方法有效吗?

0 个答案:

没有答案