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

标签 c# wpf mvvm

所以我有一个 ListView ,它的 itemsSource 属性绑定(bind)到一个 ObservableCollection,放置在 View 模型上。还有一个按钮打开 View
如何使按钮从 observableCollection 中删除在 ListView 中选择的项目?

最佳答案

只是添加另一种方式来做到这一点:

<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);
    }
} 

前往 HERE有关RelayCommand 的更多信息

关于c# - 如何从列表中删除?面向 MVVM 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13217470/

相关文章:

c# - 如何使用 MVVM 在双击列表框项上触发命令?

wpf - 列表框 "IsSelected"绑定(bind)仅部分工作

C#:使用正则表达式获取对象中键的值

c# - 暂停工作线程并等待主线程上的用户交互

c# - 使用 XML 直接签署 Office Word 文档

c# - 两个角度的弧度差?

c# - 获取应用于任何类的通用类型列表

c# - WPF: Canvas 和 zIndex?它是如何工作的?

c# - 复选框绑定(bind) WPF

datagrid - 使用 MVVM 的 DataGrid 中的 ContextMenu 绑定(bind)源