Простой способ добавления удаления в ListView с использованием паттерна MVVM в WPF

Введение

Windows Presentation Foundation (WPF) - это фреймворк для создания настольных приложений с графическим интерфейсом на языке XAML. Одним из компонентов графического интерфейса является ListView, который может отображать данные в виде списка. В этой статье мы рассмотрим простой способ добавления и удаления элементов в ListView с использованием паттерна MVVM.

MVVM

MVVM - это аббревиатура от Model-View-ViewModel. Это архитектурный паттерн, который используется для разделения логики, отображения и данных в WPF-приложениях.

  • Model - это классы, которые описывают данные, с которыми мы работаем.
  • View - это графический интерфейс, который отображает данные.
  • ViewModel - это класс, который связывает Model и View.

Создание модели и представления

Давайте начнем с создания модели данных. Для этого добавим новый класс в наш проект.

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

Теперь давайте создадим представление, которое будет отображать список людей. Для этого добавим ListView в XAML:

<ListView ItemsSource="{Binding People}" />

Создание ViewModel

Давайте создадим ViewModel, которая будет связывать нашу модель и представление. Для этого создадим новый класс:

public class MainViewModel
{
    public ObservableCollection<Person> People { get; set; }

    public MainViewModel()
    {
        People = new ObservableCollection<Person>();
    }
}

Мы создали ObservableCollection, который будет содержать наши объекты Person.

Связывание ViewModel с View

Теперь мы должны связать нашу модель данных и ViewModel с нашим ListView в представлении. Чтобы это сделать, необходимо установить DataContext для нашего представления.

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = new MainViewModel();
    }
}

Теперь мы можем привязать наш список людей к ListView, используя Binding.

<ListView ItemsSource="{Binding People}" />

Добавление элементов

Добавление нового элемента в ListView достаточно просто. Нам нужно создать новый объект Person и добавить его в ObservableCollection.

var person = new Person { Name = "John", Age = 30 };
var vm = (MainViewModel)DataContext;
vm.People.Add(person);

Удаление элементов

Удаление элемента также просто, как и добавление. Нам нужно выбрать элемент, который мы хотим удалить, и вызвать метод Remove на ObservableCollection.

var selectedPerson = (Person)listView.SelectedItem;
var vm = (MainViewModel)DataContext;
vm.People.Remove(selectedPerson);

Заключение

В этой статье мы рассмотрели простой способ добавления и удаления элементов в ListView с использованием паттерна MVVM в WPF. Для более сложных приложений, где нужно реализовать различные операции с данными, рекомендуется использовать сторонние фреймворки, такие как Prism или MvvmLight. Надеюсь, это поможет вам начать работу с WPF и паттерном MVVM.

Смотри также: