В моем хобби проекта У меня следующая ситуация:MVVM INotifyPropertyChanged в динамически измененных массивах
Я использую C#, WPF, MVVM (ну MVVM: попытаться)
я загрузить двоичный файл с информацией и сохраните его в списке (без знака) байтов. У меня есть иерархия классов, ссылающаяся на определенные местоположения в списке. Мое приложение иногда меняет иерархию классов (и ссылки на байты), но также иногда и байты (например, копирование диапазона).
У меня есть окна, в которых я привязал представление списка к отображаемой структуре.
При изменении свойств в классах я использую INotifyPropertyChanged, поскольку он должен использоваться в MVVM. Однако у меня возникают проблемы при непосредственном изменении байтов. В настоящее время я использую методы ручного обновления, но он становится очень грязным.
Есть ли какое-то решение для этого?
Также список байтов может быть как 45 МБ данных. Если бы я установил уведомление в списке, это означало бы, что для каждого байтового изменения я получаю уведомление обо всех наблюдателях? Значение, когда я буду копировать, например. 10 Кбайт байтов один за другим, и мне понадобилось бы 100 функций наблюдателя (изменение свойств обработки) в 1 миллион обновлений? Это будет убийцей производительности.
Или могу также сказать что-то вроде: теперь обновить класс X (т. Е. Все изменения свойств внутри класса). Я не могу использовать функцию set set, потому что значения уже были изменены при копировании байтов.
Последний способ кажется лучшим; somethign похоже, как я использую сейчас, я думаю (но получить беспорядок легко). –