Laden...

GroupDescriptions in ListCollectionView async befüllen

Erstellt von Quaneu vor 4 Jahren Letzter Beitrag vor 4 Jahren 857 Views
Quaneu Themenstarter:in
692 Beiträge seit 2008
vor 4 Jahren
GroupDescriptions in ListCollectionView async befüllen

Hallo zusammen,

ich bin gerade dabei Daten in einem DatGrid zu gruppieren. Dazu benutze ich eine ListCollectionView und befülle die GroupDescriptions.

z.B.


		public bool GroupByVariableName
		{
			get => _groupByVariableName;
			set
			{
				_groupByVariableName = value;
				GroupDescriptions.Clear();
				if (_groupByVariableName)
				{
					GroupDescriptions.Add(new PropertyGroupDescription("Name"));
				}
				OnPropertyChanged(new PropertyChangedEventArgs(nameof(GroupByVariableName)));
			}
		}

Das Problem ist, dass der Aufruf "Add" auf GroupDescriptions sehr lange brauchen kann. Dies hat zur Folge, dass das GUI einfriert. Um dies zu verhindern, würde ich gern diesen Aufruf async auszuführen. Jedoch geht dies leider nicht, wenn die ListCollectionView schon gebunden ist (Thread Probleme...).

Daher meine Frage kennt ihr einen sauberen Weg GroupDescriptions eine PropertyGroupDescription hinzuzufügen ohne das das GUI einfriert?

Schöne Grüße
Quaneu

P.S. An VirtualizingPanel.IsVirtualizingWhenGrouping habe ich schon gedacht 😃 Es liegt wirklich nur am Add(...)

Quaneu Themenstarter:in
692 Beiträge seit 2008
vor 4 Jahren

Ich habe jetzt eine Lösung gefunden 😃.

Ich habe nun eine Klasse die für das Gruppieren zuständig ist. Diese stellt ein Property Collection bereit, an die sich das Grid binden kann. Wenn man nun gruppieren will, erstelle ich eine neue ListCollectionView in einem Task und gruppiere in diesem. Danach wird diese dem Property Collection hinzugefügt. Klappt bisher ganz gut 😃

Hatte wolh ein Brett vorm Kopf, da ich Anfangs die Collection nur einmal (OneTime) binden wollte...

Schöne Grüße
Quanue