mvvmを使用してwpfで汎用コンテキストメニューを開発したいと思います。ItemContainerStyle ="{DynamicResourceListViewItemContainerStyle}"というスタイルのリストビューを持つ各viewModelに表示したいと思います。
コンテキストメニューには、各ビューモデルのいくつかの制約に応じて有効または無効になる2つのオプションがあります。有効かどうかは、コマンドのcanexecuteによって管理されます。
リストビュー内の各ビューに配置しても問題ありませんが、各リストビュー以外の1か所にのみ配置したいと思います。ListViewItemContainerStyleに入れようとしましたが、「System.Windows.Controls.ContextMenuをSystem.Objectに追加できません」という例外が表示されます。これが私のコードスニペットです
<Style x:Key="ListViewItemContainerStyle"
TargetType="ListViewItem">
.
.
.
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Command="{Binding Path=Command}"
CommandParameter="AddNew">
<MenuItem.Header>
<TextBlock Text="{x:Static p:TextResources.New}" />
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding Path=Command}"
CommandParameter="Delete">
<MenuItem.Header>
<TextBlock Text="{x:Static p:TextResources.Delete}" />
</MenuItem.Header>
</MenuItem>
</ContextMenu>
</Setter.Value>
</Setter>
.
.
.
これを行う方法のアイデアはありますか?