Laden...

[gelöst] Seltsame NullReferenceException beim ListView

Erstellt von HeinzTomato vor 16 Jahren Letzter Beitrag vor 16 Jahren 4.172 Views
HeinzTomato Themenstarter:in
345 Beiträge seit 2005
vor 16 Jahren
[gelöst] Seltsame NullReferenceException beim ListView

Hallo. Ich bin gerade dabei eine WPF-Listview zu sortieren. Ich gehe dabei im Prinzip nach der MSDN vor. Auf jeden Fall sieht so die Sort-Routine aus:

    private void Sort(string sortBy, ListSortDirection direction, ListView lv) {
      ICollectionView dataView =
        CollectionViewSource.GetDefaultView(lv.ItemsSource);

      dataView.SortDescriptions.Clear();
      SortDescription sd = new SortDescription(sortBy, direction);
      dataView.SortDescriptions.Add(sd);
      dataView.Refresh();
    }

Auf jeden Fall bekomme ich bei dataView.SortDescriptions.Add(sd) eine NullReferenceException. Allerdings sind weder DataView, noch sd NULL. Interessant ist zudem, daß die Zeile dennoch korrekt ausgeführt wird (das DataView bekommt eine SortDescription hinzu). Woran kann es liegen?

Die Exception nochmal en Detail:

System.NullReferenceException wurde nicht von Benutzercode behandelt.
  Message="Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
  Source="PresentationFramework"
  StackTrace:
       bei System.Windows.Data.BindingListCollectionView.ConvertSortDescriptionCollection(SortDescriptionCollection sorts)
       bei System.Windows.Data.BindingListCollectionView.RefreshOverride()
       bei System.Windows.Data.CollectionView.Refresh()
       bei System.Windows.Data.CollectionView.RefreshOrDefer()
       bei System.Windows.Data.BindingListCollectionView.SortDescriptionsChanged(Object sender, NotifyCollectionChangedEventArgs e)
       bei System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
       bei System.ComponentModel.SortDescriptionCollection.OnCollectionChanged(NotifyCollectionChangedAction action, Object item, Int32 index)
       bei System.ComponentModel.SortDescriptionCollection.InsertItem(Int32 index, SortDescription item)
       bei System.Windows.Data.BindingListCollectionView.BindingListSortDescriptionCollection.InsertItem(Int32 index, SortDescription item)
       bei System.Collections.ObjectModel.Collection`1.Add(T item)
       bei GekoS.WPFLoader.csLoad.Sort(String sortBy, ListSortDirection direction, ListView lv) in D:\data\flowS\wpf2nova\wpf2nova\csLoader.cs:Zeile 355.
       bei GekoS.WPFLoader.csLoad.GridViewColumnHeaderClickedHandler(Object sender, RoutedEventArgs e) in D:\data\flowS\wpf2nova\wpf2nova\csLoader.cs:Zeile 329.
       bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   [etc. pp.]

das gleiche Problem tritt auch auf, wenn ich es über

lv.Items.SortDescriptions.Add(sd);

versuche

Mein Haus, mein Viertel, mein Blog

HeinzTomato Themenstarter:in
345 Beiträge seit 2005
vor 16 Jahren

Auch dies hat sich mittlerweile erledigt 8o

Das Problem war, daß die Headerbezeichnungen nicht zur Spaltenbezeichnung passte. passte. Mit dem Path des DisplayMemberBinding anstelle der Headerbezeichnung gings.

Mein Haus, mein Viertel, mein Blog