У меня есть ObservableCollection, у которого есть объекты. Моим требованием я хочу установить свойство Changed для определенного свойства, чтобы вызвать событие Collection Changed.
Я могу установить свойство, измененное для объекта следующим образом:
foreach (INotifyPropertyChanged prop in _baseColl)
{
prop .PropertyChanged += prop_PropertyChanged;
}
prop_PropertyChanged()
{
//Will Refresh My Collection.
}
Этот случай будет вызван для всех свойств в этом объекте. Но я этого не хочу.
PS: Я также знаю, что мы можем запускать CollectionChanged "Добавить", "Удалить", "Переместить" и т.д. Но я хочу другое решение в моем случае.
Все, что вы можете сделать, если вы обрабатываете PropertyChanged
- это проверить "PropertyName";
prop_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "TheProperty")
{
//Will Refresh My Collection.
}
}
Это должно быть хорошо для большинства случаев. Если вы хотите более узко-целевое обращение, то вы всегда можете рассмотреть возможность использования настраиваемого события - если исходный объект поднимает это событие только тогда, когда интересующее вас свойство изменяется.