我有简单的ICommand-Bindings工作,但是我在ItemsControl中有Buttons并希望获得发送者信息,就像普通的Routed-Events (object sender, e RoutedEventArgs)
一样,这对于普通的ICommands似乎是不可能的,对吗? / p>
我有点迷失在这里。
我目前使用Prism 6 DelegateCommand-Class来完成工作。它看起来像这样:
private ICommand _selectCommand;
public ICommand SelectCommand
{
get
{
return _selectCommand ?? (_selectCommand = new DelegateCommand<object>(SelectImage));
}
}
private void SelectImage(object image)
{
var img = (BitmapImage)image;
var index = Scans.IndexOf(img);
this.CurrentIndex = index + 1;
ImageToDisplay = img;
}
如何让RoutedCommand工作?
答案 0 :(得分:1)
视图模型不应该访问甚至不知道任何视图元素。
您应该将视图中控件的目标属性绑定到视图模型的source属性,您可以在执行命令时在SelectImage
方法中简单地设置该属性。