私は、WPFデータグリッドの機能に建てを使用してこれを解決しました。グリッドは、基になるコレクションが編集可能な場合(コレクションがこの目的に専念している場合は問題ありません。そうでない場合は、中間コレクションを追加できます)、デフォルトでアイテムを削除します。私は、任意のキーバインディングを回避し、ちょうどこのようなグリッドを設定します。
<DataGrid ItemsSource="{Binding InvoiceItems}" IsReadOnly="False" CanUserDeleteRows="True" CanUserAddRows="False">
のItemsSourceコレクションは私のViewModelで型BidningCollection <>
である(私のDataContext)私はて、CollectionChangedイベントのハンドラを追加します。
InvoiceItems.CollectionChanged += InvoiceItemsCollectionChanged;
そして、このようにそれを実装する:あなたはおそらくLEAで持つことになるためだ
private void InvoiceItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.Action != NotifyCollectionChangedAction.Remove)
return;
foreach (var oldItem in e.OldItems)
{
//do any other processing necessary
}
}
あなたが元のコレクションからアイテムを削除する2つの方法(Delキー、いくつかのボタンを備えたキーボード)、そしてアイテムが削除されたときの世話をするためのいくつかの方法があります。
これを試してみるにはしばらく時間をとっていましたが、それは魅力的でした。ありがとうございました!!! – KornMuffin