如何从列表中删除?面向MVVM模式

Iva*_*nov 1 c# wpf mvvm

所以我有一个listview,它的itemsSource属性绑定到一个ObservableCollection,放在视图模型上.在视图上的按钮如何使按钮删除列表视图中从observableCollection中选择的项目?

JiB*_*evé 5

只是添加另一种方法:

<ListView ItemsSource="{Binding MyList}"             
          SelectedItem="{Binding SelectedItem}"/>

<Button Command="{Binding DeleteCommand}"/>
Run Code Online (Sandbox Code Playgroud)

在ViewModel中,您有一个名为的属性SelectedItem,每次更改时都会更新ListView.

现在您可以ViewModel轻松处理删除:

internal class ViewModel
{
    public ViewModel()
    {
        this.DeleteCommand = new RelayCommand(() => this.Delete());
    }
    public void Delete()
    {
        this.MyList.Remove(this.SelectedItem);
    }
} 
Run Code Online (Sandbox Code Playgroud)

这里获取更多信息RelayCommand