在Silverlight 5中使用MVVM-Light Toolkit
,我试图找到一种方法将Command Parameters
AND EventArgs
传递给事件到命令中的ViewModel行为。
我确实发现了一条建议将EventArgs传递为命令参数的帖子,但在我的情况下,我想在ViewModel中使用EventArgs
和Command Parameter
。
任何人都可以提供帮助?
答案 0 :(得分:11)
解决了问题....如果有人想知道......
概念:我们只需要通过MVVM-Light事件将EventArgs传递给Command。对于Command,有一个属性来源。我们可以将这个'Source'属性转换为生成此命令的对象。
示例:
我们在ViewModel构造函数
中使用eventargs声明命令FilterQuotationsCommand = new RelayCommand<GridViewFilteredEventArgs>(FilterQuotationsCommandExecute);
我们在将其发送到发送控件后通过“Source”访问发件人。
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
}