9

在 Silverlight 5 中使用MVVM-Light Toolkit我试图找到一种方法以事件到命令的行为将两者都传递给 ViewModel。Command Parameters EventArgs

我确实找到了一篇建议将 EventArgs 作为命令参数传递的帖子,但在我的情况下,我想在 ViewModel 中使用两者EventArgsCommand Parameter

任何人都可以帮忙吗?

4

1 回答 1

11

解决了问题....以防万一其他人想知道...

概念:我们只需要通过 MVVM-Light Event 将 EventArgs 传递给 Command。在命令事件中,有一个属性Source。我们可以将此“源”属性强制转换为生成此命令的对象。

例子 :

我们在 ViewModel Constructor 中使用 eventargs 声明命令

FilterQuotationsCommand = new RelayCommand<GridViewFilteredEventArgs>(FilterQuotationsCommandExecute);

我们在将其投射到发送控件后通过“源”访问发送者。

private void FilterQuotationsCommandExecute(GridViewFilteredEventArgs e)
    {
        var grid = (RadGridView) e.Source; // we casted the Source to Grid
        var item = grid.SelectedItem;      // we can access grid's selected items
    }
于 2012-10-02T03:56:31.800 回答