WPF アプリで MV-VM パターンを使用しています。ViewModel を ContentControl にバインドし、ウィンドウ リソースで定義されたデータ テンプレートを使用して、その ViewModel のビュー (UserControl) をレンダリングしています。
ViewModel には、アイテムのコレクションがあります。そのコレクションを、WPF ツールキットで提供されるデータ グリッドにバインドしています。また、ビュー モデルには、削除する項目 ID の引数を取る RemoveItem コマンドが定義されています。
データ グリッドでそのコマンドにどのようにバインドしますか? グリッドのデータ コンテキストはそのコレクションなので、次のようになります。
<Button Command="{Binding Path=RemoveCommand}" CommandParameter="{Binding Path=id}">X</Button>
動作しません - コマンドが見つかりません。RelativeSource バインディングを行う必要があると思いますが、それはどのようなものでしょうか? 祖先の型は UserControl でしょうか、それとも ContentControl でしょうか? ViewModel は DataContext としてどこにありますか?
それとも私はここから離れていますか?