Вы могли бы, чтобы каждый пункт меню выполнял одну и ту же команду, таким образом обрабатывая выполнение централизованно. Если вам нужно отличить пункты меню от фактического экземпляра объекта, вы также можете привязать параметр команды:
<MenuItem Header="My Items" ItemsSource="{Binding Path=MyMenuItems}">
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Command" Value="{x:Static local:MyCommands.MyCommand}"/>
<Setter Property="CommandParameter" Value="{Binding SomeProperty}"/>
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
SomeProperty
считается свойством каждого элемента в вашей коллекции MyMenuItems
. Следовательно, ваш обработчик выполнения команды получит значение SomeProperty
для определенного пункта меню, по которому щелкают.