Я использую ItemControl, и я хочу определить, какой элемент был выбран в команде Tap. Мой XAML определяется здесь:Binding CommandParameter on ItemsControl Tap event
<ItemsControl ItemsSource="{Binding AllMyItems}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<cmd:EventToCommand Command="{Binding ItemSelectedCommand}" CommandParameter="{Binding}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
.... item template ....
и вот мой взгляд модель:
public RelayCommand<MyItem> ItemSelectedCommand { get; private set; }
public MainViewModel()
{
ItemSelectedCommand = new RelayCommand<MyItem>(ItemSelected);
}
private void ItemSelected(MyItem myItem)
{
throw new NotImplementedException();
}
Событие командовать работает, но когда я к методу ItemSelected, myItem либо Null, либо я получаю исключение, отбрасывающее его (в зависимости от того, как я определяю CommandParameter в xaml).
Я могу это сделать, если я использую ListBox и установить CommandParameter="{Binding SelectedItem, ElementName=MyItemsList"}
Любые идеи о том, как сделать это с помощью ItemsControl? Или разница в перфомансе не сильно отличается от двух в Манго?