リストビューがあり、ビューモデルに配置された ObservableCollection にバインドされた itemsSource プロパティです。そして、ビュー上のボタンは、リストビューで選択されたアイテムをobservableCollectionからボタンが削除するようにするにはどうすればよいですか?
質問する
5260 次
3 に答える
5
それを行う別の方法を追加するだけです:
<ListView ItemsSource="{Binding MyList}"
SelectedItem="{Binding SelectedItem}"/>
<Button Command="{Binding DeleteCommand}"/>
ViewModel にはSelectedItem
、 で選択を変更するたびに更新されるというプロパティがありListView
ます。
これで、削除をViewModel
簡単に処理できます。
internal class ViewModel
{
public ViewModel()
{
this.DeleteCommand = new RelayCommand(() => this.Delete());
}
public void Delete()
{
this.MyList.Remove(this.SelectedItem);
}
}
詳細については、こちらをご覧くださいRelayCommand
于 2012-11-05T07:59:32.307 に答える
3
これを行うには多くの方法があります。RelayCommand
1 つの方法は、またはDelegateCommand
パラメータを使用して を作成することです。
<Button Command="{Binding MyDeleteCommand}"
CommandParameter="{Binding ElementName=mylistview, Path=SelectedItem}"/>
AlSkiが投稿した方法で、をバインドしSelectedItem
て、ViewModel
パラメーターなしでコマンドを処理できますViewModel
于 2012-11-05T07:44:12.310 に答える
1
2 番目のプロパティをリスト ビューの選択された項目にバインドし、3 番目のプロパティをビュー モデルの Command にバインドします。これにより、選択された項目が項目のリストから単純に削除されます。
http://msdn.microsoft.com/en-us/magazine/dd419663.aspxを参照してください。
于 2012-11-04T09:40:35.633 に答える