я определил наблюдаемую коллекцию, как показано ниже,PropertyEventChangedHandler из ObservableCollections не стрельбы
public class PropertyFieldsInExcel
{
public string LongNames { get; set; }
public string ShortNames { get; set; }
public string CNames { get; set; }
}
static ObservableCollection<PropertyFieldsInExcel> Properties =
new ObservableCollection<PropertyFieldsInExcel>();
У меня есть метод, который изменяет значение некоторых элементов в этом классе, как это так,
public static void AutofillCell()
{
((INotifyPropertyChanged)Properties).PropertyChanged +=
new PropertyChangedEventHandler(PropertyChangedEvent);
Properties[i].CNames = "It works";
Properties[i].CNames = "Ha ha ha";
((INotifyPropertyChanged)Properties).PropertyChanged -=
new PropertyChangedEventHandler(PropertyChangedEvent);
}
Когда я присваиваю значение определенному элементу, как показано выше, событие не срабатывает. Зачем? Какую ошибку я совершил?
код обработчика событий, как это так,
private static void PropertyChangedEvent(object sender, PropertyChangedEventArgs e)
{
//Some code to be executed
}
Возможная Дубликат [ObservableCollection не замечая, когда в нем товара меняется (даже с INotifyPropertyChanged)] (http://stackoverflow.com/ вопросы/1427471/observablecollection-not-noticing-when-item-in-it-changes-even-with-inotifyprop) –
Вы не ищете событие CollectionChanged? – momar
Нет, событие collectionChanged не будет срабатывать точно. Согласно MSDN, он срабатывает только при добавлении, удалении, замене или изменении всего объекта. Здесь я меняю свойство внутри объекта – Rama