いくつかのテキスト列とボタンを持つ DataGrid があります。ViewModel のコマンドにボタンをバインドしたい。列は ItemSource のコンテキスト内にあるため、ボタンの DataContext を DataGrid の外部 (コマンドにアクセスするためのビュー モデル) に変更するか、Silverlight がそのコマンドのバインディング式を見つけることができません。 ItemSource コンテキストで。
これが私がやっていることですが、そうすることに失敗しています。どこを間違えているのかわからない
<DataGrid >
...
<Button>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding Path=DataContext.CommandToCall, ElementName=DataGridName}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
...
</DataGrid>
これを行ってもバインディング エラーは発生しませんが、ViewModel 内でコマンドを呼び出すことはできません。これは Silverlight 用であり、WPF 用ではないことに注意してください。ありがとう