2 つのデータグリッドがあります。1 つまたは複数の行をダブルクリックすると、アイテムを切り替えることができます。doubleclick イベントは、選択された項目のリストをビューモデルに送信するコマンドによって処理されます。
だから私はトリガー付きのDatagrid 1を持っています:
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick" SourceName="lstProducts">
<cmd:EventToCommand Command="{Binding Path=Add}"
CommandParameter="{Binding ElementName=lstProducts, Path=SelectedItems}" />
</i:EventTrigger>
</i:Interaction.Triggers>
そして Datagrid 2 トリガー:
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick" SourceName="dgProducts">
<cmd:EventToCommand Command="{Binding Path=Remove}"
CommandParameter="{Binding ElementName=dgProducts,Path=SelectedItems}" />
</i:EventTrigger>
</i:Interaction.Triggers>
Datagrid をダブルクリックするたびに、Add AND Remove コマンドが呼び出されます。しかし、両方のデリゲート コマンド メソッド内にデバッグ ポイントを設定すると、1 つしか入力されません。1つだけセットすれば、どれでも入ります。
たとえば、最初のデータグリッドをクリックすると、追加コマンドを呼び出す必要があるため、ブレークポイントで停止します。しかし、ブレークポイントを削除するように設定したときも、両方ではありません。
SourceNameとSourceObjectを適用しようとしましたが、役に立ちません..
多分誰かがこれを修正する方法を知っていますか?