可能重複:
Specify Command for MenuItem in a DataTemplateWPF ContextMenu與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-換菜單項-IN-A-DataTemplate中)。 –