Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Изменение не ObservableCollection


Автор: hexzo 25.8.2011, 15:31
List<FileLine> slice служит ресурсом для списка.

Если я просто добавлю туда элемент то отображение списка не поменяется.
Код

slice.Add(tempfileline);      
NotifyPropertyChanged("slice_prop");


А если я перед добавлением списка перезапишу его и добавлю в него все элементы то всё работает. Откуда такие странности? Я же отправляю сигнал того, что свойство изменилось.
Код

slice.Add(tempfileline);
List<FileLine> temp = slice;
slice = new List<FileLine>();
foreach (var f in temp)
{
  slice.Add(f);
}
NotifyPropertyChanged("slice_prop");

Автор: Gvozdin 25.8.2011, 15:53
Байндинг "умный" в некоторых случаях, он видит что вы его обманываете smile

Что происходит в байндинге можно узнать установив PresentationTraceSources.TraceLevel=High для байндинга.

Если уж ObservableCollection не угодила, то сделайте свою простую реализацию INotifyCollectionChanged.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)