<
От версии < 1.12
отредактировано Alexandr Fokin
на 2023/02/24 21:16
К версии < 1.3 >
отредактировано Alexandr Fokin
на 2023/02/23 14:52
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,22 +1,7 @@
1 -|ObservableCollection|(% style="width:1243px" %)Выступает в роли обертки над List, предоставляет интерфейс оповещения о событиях изменения коллекции.
1 +|ObservableCollection|Выступает в роли обертки над List, предоставляет интерфейс оповещения о событиях изменения коллекции.
2 2  Важно: по умолчанию уведомляет только об изменения самой коллекции, не учитывая изменения элементов (в случае, если они реализует INotifyPropertyChanged).
3 3  В таком варианте обновление элемента подразумевает его повторную вставку.
4 -\\При этом, например, привязка в фреймворке [[WPF>>doc:Разработка.NET.Frameworks and Apps.GUI.WPF.WebHome]] умеет в том числе фиксировать изменения свойств элементов.
5 -Возможно создание такого расширения, который также будет в нужных местах подписываться/отписываться на изменения элементов и пробрасывать их в свой интерфейс оповещения.|(% style="width:89px" %)(((
6 -|(% colspan="2" %)Демонстрация обновления элемента по индексу.
7 -|Элемент без оповещения|{{code language="c#"}}var item = Collection1[index];
8 -item.Property1 += "modified";
4 +| |
5 +| |
9 9  
10 -Collection1.RemoveAt(index);
11 -Collection1.Add(item);{{/code}}
12 -|Элемент с INotifyPropertyChanged|{{code language="C#"}}var item = Collection2[index];
13 -item.Property1 += "modified";{{/code}}
14 -
15 15  
16 -)))
17 -|CompositeCollection|(% style="width:1243px" %)Binding multiple ObservableCollections to One ObservableCollection
18 -[[https:~~/~~/stackoverflow.com/questions/13203795/binding-multiple-observablecollections-to-one-observablecollection>>https://stackoverflow.com/questions/13203795/binding-multiple-observablecollections-to-one-observablecollection]]|(% style="width:89px" %)
19 -|Cysharp/ObservableCollections
20 -[[https:~~/~~/github.com/Cysharp/ObservableCollections>>https://github.com/Cysharp/ObservableCollections]]|(% style="width:1243px" %)ObservableCollections is a high performance observable collections(ObservableList<T>, ObservableDictionary<TKey, TValue>, ObservableHashSet<T>, ObservableQueue<T>, ObservableStack<T>, ObservableRingBuffer<T>, ObservableFixedSizeRingBuffer<T>) with synchronized views.|(% style="width:89px" %)
21 -
22 -