Jak skopiować elementy z List<..> do ObservableCollection<...>?

Odpowiedz Nowy wątek
2019-09-05 13:18
0

Oczywiście pomijam rozwiązanie kopiowania po elemencie w pętli, bo na to sam wpadłem. Podobnie przez użycie konstruktora, ponieważ ObservableCollection już istnieje.
Jakieś pomysły?

Pozostało 580 znaków

2019-09-05 13:34
0

Są dostępne jedynie te dwa powyższe, po co CI kolejny?


Java to taki C# tyle że z gorszą składnią.

Pozostało 580 znaków

2019-09-05 13:36
0

Co jest złego w skopiowaniu w pętli element po elemencie (złożoność kopiowania i tak będzie O(n))?


ta kolekcja generuje notyfikacje dla UI dla każdego dodanego elementu, i przy dużych ilościach jest to całkiem wolne - neves 2019-09-05 13:38
Rzeczywiście, racja; w takim razie, przy braku metody w interfejsie, wygląda na to, że nic nie da się zrobić. - lion137 2019-09-05 13:43

Pozostało 580 znaków

2019-09-05 13:44
0
neves napisał(a):

Są dostępne jedynie te dwa powyższe, po co CI kolejny?

Myślałem o czymś w stylu AddRange, którego nie znalazłem w ObservableCollection, ale jak nie ma to co zrobić.

Pozostało 580 znaków

2019-09-05 13:50
0

Podmienia się ObservableCollection na nową instancję (czyli konstruktor), albo odpina się binding łączący kolekcje z UI i dodaje pojedynczo i podpina z nowu. Preferowana jest opcja z podmianą.


Java to taki C# tyle że z gorszą składnią.
edytowany 1x, ostatnio: neves, 2019-09-05 13:51

Pozostało 580 znaków

2019-09-05 13:54
0

Spróbuj tego :

MyObservableColletction = new ObservableCollection<MyModel>(myList.Select(md => new MyModel(md)));

Pozostało 580 znaków

2019-09-05 14:50
1

Jeżeli możesz użyć swojej klasy, to są implementacje ObservableCollection<T> z dostępnym AddRange(): https://stackoverflow.com/que[...]od-so-i-get-notified-for-each

edytowany 1x, ostatnio: Ktos, 2019-09-05 15:19

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0