powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ObservableCollection & CollectionChanged
9 сообщений из 9, страница 1 из 1
ObservableCollection & CollectionChanged
    #38087170
RealBlonde
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему CollectionChanged не выстреливает при изменении элемента коллекции?

Имеется ObservableCollection<Person>. Person реализует интерфейс INotifyPropertyChanged.
Хочется получать уведомления при добавлении удалении и ИЗМЕНЕНИИ элемента.
CollectionChanged на удаление/добавление выстреливает, на изменение - нет. Что я делаю неправильно?
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087187
Nicky_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RealBlonde,

CollectionChanged и не должен выстреливать на изменение.
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087193
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RealBlondePerson реализует интерфейс INotifyPropertyChanged.
Вот Person и должен выстреливать на изменение, покажите как реализован интерфейс INotifyPropertyChanged
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087194
RealBlonde
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nicky_N,

Как же так?!
В MSDN написано "Происходит, когда элемент добавляется, удаляется, изменяется или перемещается, а также при обновлении всего списка."
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087197
RealBlonde
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,

Код: c#
1.
2.
3.
4.
5.
6.
7.
        private void RaisePropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        public event PropertyChangedEventHandler PropertyChanged;
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087200
Nicky_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RealBlonde,

тут :

It actually works correctly
(In response to the post about this event not firing when an item is changed)


Yes, it actually does fire when an item is changed. Changing an item does not mean changing a property on the item. It literally means changing or "replacing" the item. Example: collection[item] = newItem; (This causes the CollectionChanged event to be fired.)


If you're interested in properties changing on the item (for example, the "FirstName" propety of a Person object in your collection), you should be listening for change events on the item itself, not the ObservableCollection.
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087206
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RealBlonde,

и RaisePropertyChanged вызывается при изменении значений свойств, да? тогда все должно работать...

а читать лучше оригинал а не перевод
ObservableCollection<T> ClassRepresents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed.
...
Note
To fully support transferring data values from binding source objects to binding targets, each object in your collection that supports bindable properties must implement an appropriate property changed notification mechanism such as the INotifyPropertyChanged interface.
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087209
RealBlonde
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nicky_N,

Тоесть если я хочу отслеживать изменения Person'ов в коллекции, то мне надо каждому из них подцепить обработчик на событие PropertyChanged?
...
Рейтинг: 0 / 0
ObservableCollection & CollectionChanged
    #38087211
Nicky_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ObservableCollection & CollectionChanged
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]