#c_sharp #wpf #mvvm
Есть ListBoxсо списком автомобилейЕсть коллекция, в которой находятся данные из БД ObservableCollection Auto; как сделать удаление нескольких выделенных в ListBox автомобилей? для удаления 1 авто использую следующий код public RelayCommand DeleteCommand { get { return deleteCommand ?? (deleteCommand = new RelayCommand((selectedItem) => { MessageBoxResult result = MessageBox.Show("Вы действительно желаете удалить элемент?", "Удаление", MessageBoxButton.YesNo, MessageBoxImage.Question); if (selectedAuto == null || result == MessageBoxResult.No) return; // получаем выделенный объект Auto auto = selectedAuto as Auto; db.Autos.Remove(auto); db.SaveChanges(); OnPropertyChanged("HasAuto"); }, CanEditOrDeleteAuto)); } } Класс Auto выглядит следующим образом(таблица БД выглядит также) class Auto : INotifyPropertyChanged { private string model; private string marka; private int cost; private int maxSpeed; public int Id { get; set; } public string Model { get { return model; } set { model = value; OnPropertyChanged("Model"); } } public string Marka { get { return marka; } set { marka = value; OnPropertyChanged("Marka"); } } public int Cost { get { return cost; } set { cost = value; OnPropertyChanged("Cost"); } } public int MaxSpeed { get { return maxSpeed; } set { maxSpeed = value; OnPropertyChanged("MaxSpeed"); } } public event PropertyChangedEventHandler PropertyChanged; public void OnPropertyChanged([CallerMemberName]string prop = "") { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(prop)); } } БД получаю таким образом public class ApplicationContext : DbContext { public ApplicationContext() : base("DefaultConnection") { } public DbSet Autos { get; set; } } ViewModel ObservableCollection autos; private Auto selectedAuto; public ObservableCollection Autos { get { return autos; } set { autos = value; OnPropertyChanged("Autos"); } } public Auto SelectedAuto { get { return selectedAuto; } set { selectedAuto = value; OnPropertyChanged("SelectedAuto"); } } public ApplicationViewModel() { db = new ApplicationContext(); db.Autos.Load(); Autos = db.Autos.Local; } UDP2 разметка