Можно создать дубликат:
Specify Command for MenuItem in a DataTemplateWPF ContextMenu with ItemsSource - как связать команду в каждом элементе?
У меня есть коллекция объектов (ViewModels), которые представляют собой пункты меню. У каждой из них есть команда, которую я хотел бы выполнить, когда щелкнут MenuItem.
Если бы я хотел сделать меню статически, я делаю это так:
<ContextMenu>
<MenuItem Header="{Binding Text1}" Command={Binding Command1}>
<MenuItem Header="{Binding Text2}" Command={Binding Command2}>
</ContextMenu>
, но когда я не знаю детали заранее (они происходят из коллекции), мне нужно назначить ContextMenu .ItemsSource - и поместите текст в ItemTemplate.
<ContextMenu ItemsSource="{Binding MyMenuItems}">
<ContextMenu.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Text2}" /> <!-- But where to put Command binding? TextBlock.Command makes no sense, and we have no access to MenuItem! -->
</DataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
Таким образом, однако, у меня нет места, чтобы связать команду с - потому что я не могу получить MenuItem для каждой строки!
Любые советы, пожалуйста? Спасибо вам, ребята!
Дубликат [http://stackoverflow.com/questions/898852/specify-command-for-menuitem-in-a-datatemplate](http://stackoverflow.com/questions/898852/specify-command- для-MenuItem-в-DataTemplate). –