アイテムのコレクションを表示するリストビューがあります。各アイテムには、基になるデータとしてビューモデル(MVVM)があります。
私がやりたいのは、ユーザーがこれらのリストビュー項目の1つを右クリックしたときに、コンテキストメニュー内にさまざまなメニュー項目を表示することです。表示されるメニュー項目は、選択した項目のタイプ(つまり、基になるビューモデルのタイプ)によって異なります。
以下は機能すると思いますが、機能しません(コンテキストメニューに項目が表示されません)。
<ListView.ContextMenu>
<ContextMenu DataContext="{Binding Path=PlacementTarget.SelectedItem, RelativeSource={RelativeSource Self}}">
<ContextMenu.Resources>
<DataTemplate DataType="{x:Type ViewModels:ViewModel1}">
<MenuItem Header="DoStuffForVM1" Command="{Binding DoStuffForVM1Command}"/>
</DataTemplate>
<DataTemplate DataType="{x:Type ViewModels:ViewModel2}">
<MenuItem Header="DoStuffForVM2" Command="{Binding DoStuffForVM2Command}"/>
</DataTemplate>
</ContextMenu.Resources>
<ContentPresenter ContentSource="{Binding}" />
</ContextMenu>
</ListView.ContextMenu>
何か案は?
ありがとう。