J'ai un ItemsControl qui est alimenté par une collection observable de certaines classes ViewModel, comme suit :
<ItemsControl ItemsSource="{Binding MyCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate Type="{x:Type local:MyViewModel}">
<Button Content="{Binding ActionName}" Click="ClickHandler"/>
</DataTemplate>
<ItemsControl.ItemTemplate>
</ItemsControl>
Cela fonctionne très bien, mais je n'arrive pas à trouver comment faire en sorte que le "ClickHandler" connaisse la classe "MyViewModel" qui est représentée par le modèle de données. Regardez !
private void ClickHandler(object sender, RoutedEventArgs e)
{
// The 'sender' is the button that raised the event. Great!
// Now how do I figure out the class (MyViewModel) instance that goes with this button?
}