Изменения документа Observable
Редактировал(а) Alexandr Fokin 2023/02/24 21:16
<
>
отредактировано Alexandr Fokin
на 2023/02/23 19:25
на 2023/02/23 19:25
отредактировано Alexandr Fokin
на 2023/02/24 21:15
на 2023/02/24 21:15
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,9 +1,21 @@ 1 -|ObservableCollection|Выступает в роли обертки над List, предоставляет интерфейс оповещения о событиях изменения коллекции. 1 +|ObservableCollection|(% style="width:1243px" %)Выступает в роли обертки над List, предоставляет интерфейс оповещения о событиях изменения коллекции. 2 2 Важно: по умолчанию уведомляет только об изменения самой коллекции, не учитывая изменения элементов (в случае, если они реализует INotifyPropertyChanged). 3 3 В таком варианте обновление элемента подразумевает его повторную вставку. 4 4 \\При этом, например, привязка в фреймворке [[WPF>>doc:Разработка.NET.Frameworks and Apps.GUI.WPF.WebHome]] умеет в том числе фиксировать изменения свойств элементов. 5 -Возможно создание такого расширения, который также будет в нужных местах подписываться/отписываться на изменения элементов и пробрасывать их в свой интерфейс оповещения. 6 -| | 7 -| | 5 +Возможно создание такого расширения, который также будет в нужных местах подписываться/отписываться на изменения элементов и пробрасывать их в свой интерфейс оповещения.|(% style="width:89px" %)((( 6 +|(% colspan="2" %)Демонстрация обновления элемента по индексу. 7 +|Элемент без оповещения|{{code language="c#"}}var item = Collection1[index]; 8 +item.Property1 += "modified"; 8 8 10 +Collection1.RemoveAt(index); 11 +Collection1.Add(item);{{/code}} 12 +|Элемент с INotifyPropertyChanged|{{code language="C#"}}var item = Collection2[index]; 13 +item.Property1 += "modified";{{/code}} 14 + 9 9 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 +| |(% style="width:1243px" %) |(% style="width:89px" %) 20 + 21 +