Jak powiadomić ViewModel, że zmienił się Model?

Odpowiedz Nowy wątek
2019-09-10 11:18
0

Witam,
Mam DataGrid z kolumną CheckBox podpięty do ObservableCollection<model>. Model wygląda następująco:

public class Model : INotifyPropertyChanged
    {

        public event PropertyChangedEventHandler PropertyChanged;

        protected void NotifyPropertyChanged(string propertyName)
        {
            if (this.PropertyChanged != null)
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        public int Id { get; set; }
        public string Name { get; set; }

        private bool _is;

        public bool Is
        {
            get { return _is; }
            set
            {
                _is = value;
                NotifyPropertyChanged(nameof(Is));
            }
        }

    }

CheckBox to Is.

I tu pojawiają się 2 pytania:

  1. NotifyPropertyChanged(nameof(Is)); zachodzi nie po zaznaczeniu, odznaczeniu CheckBox a dopiero po opuszczeniu rekordu i przejściu na inny.
  2. Jak przenieść informacje o zmianie właściwości Is z Model do ViewModel?

Zadanie docelowe polega na wyświetleniu w widoku ilości zaznaczonych CheckBox na Grid. Utworzyłem więc w ViewModel właściwość RowsChecked ale nie wiem jak ją oprogramować, żeby działała od razu po kliknięciu w CheckBox.

Pokaż jak masz to zbindowane - Juhas 2019-09-10 12:39

Pozostało 580 znaków

2019-09-11 11:01
0

Miałem podobny problem w DevExpress a nie w wpf - może przyczyna problemu jest taka sama.
Problem polegał na tym że po zaznaczeniu ChekcBox-a edytor dalej był aktywny, dopiero po wywołaniu na GridView CloseEditor zmiana była zapisywana w encji.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0