Exemple #1
0
        private void ModelSynchro(object sender, NotifyCollectionChangedEventArgs e) //wywołuje akcję, wchodzimy przez CopyPersons()
        {
            switch (e.Action)
            {
            //nazwy metod jak w modelu: DelPerson i NewPerson
            //NotifyCollectionChangedAction opisuje akcje które spowodowały CollectionChanged event
            case NotifyCollectionChangedAction.Add:                     //Opisuje akcję która powoduje System.Collections.Specialized.INotifyCollectionChanged.CollectionChanged
                AdresViewModel newTask = (AdresViewModel)e.NewItems[0]; //NewItems otrzymuje listę nowych rzeczy powodujących zmianę.
                if (newTask != null)                                    //jeśli wciąż są nowe itmey...
                {
                    model.DodajAdres(newTask.GetModel());               //w kolekcji jest tworzone nowe wywołanie modelu
                }
                break;

            case NotifyCollectionChangedAction.Remove:     //j.w. tylko dla usuwania
                AdresViewModel removeTask = (AdresViewModel)e.OldItems[0];
                if (removeTask != null)
                {
                    model.UsunAdres(removeTask.GetModel());
                }
                break;
            }
        }
Exemple #2
0
 private void Odpalamy(AdresViewModel adres) // EventHandler
 {
     adres.InformacjaCheck += JeszczeRaz;
 }