Moin Leute,
ich versuche mein Listview so zu verändern, dass es möglich ist, bei einem Klick auf den Header das Listview nach der Spalte zu sortieren.
Als Beispiel hierfür, habe ich diesen Link herbei gezogen:
msdn.microsoft.com/de-de/library/ms745786(v=vs.110).aspx
Nun sieh es bei mir wie folgt aus:
Jedoch bekomme ich an folgender Stelle eine Null-Reference-Exception:
Hat jemand eine Idee woran das liegen kann?
In einem Separaten Beispiel Projekt hat es noch geklappt.
ich versuche mein Listview so zu verändern, dass es möglich ist, bei einem Klick auf den Header das Listview nach der Spalte zu sortieren.
Als Beispiel hierfür, habe ich diesen Link herbei gezogen:
msdn.microsoft.com/de-de/library/ms745786(v=vs.110).aspx
Nun sieh es bei mir wie folgt aus:
VB.NET-Quellcode
- Public Sub New()
- InitializeComponent()
- End Sub
- Private _lastHeaderClicked As GridViewColumnHeader = Nothing
- Private _lastDirection As ListSortDirection = ListSortDirection.Ascending
- Private Sub GridViewColumnHeaderClickedHandler(ByVal sender As Object, ByVal e As RoutedEventArgs)
- Dim headerClicked As GridViewColumnHeader = TryCast(e.OriginalSource, GridViewColumnHeader)
- Dim direction As ListSortDirection
- If headerClicked IsNot Nothing Then
- If headerClicked.Role <> GridViewColumnHeaderRole.Padding Then
- If headerClicked IsNot _lastHeaderClicked Then
- direction = ListSortDirection.Ascending
- Else
- If _lastDirection = ListSortDirection.Ascending Then
- direction = ListSortDirection.Descending
- Else
- direction = ListSortDirection.Ascending
- End If
- End If
- Dim header As String = TryCast(headerClicked.Column.Header, String)
- Sort(header, direction)
- If direction = ListSortDirection.Ascending Then
- headerClicked.Column.HeaderTemplate = TryCast(Resources("HeaderTemplateArrowUp"), DataTemplate)
- Else
- headerClicked.Column.HeaderTemplate = TryCast(Resources("HeaderTemplateArrowDown"), DataTemplate)
- End If
- ' Remove arrow from previously sorted header
- If _lastHeaderClicked IsNot Nothing AndAlso _lastHeaderClicked IsNot headerClicked Then
- _lastHeaderClicked.Column.HeaderTemplate = Nothing
- End If
- _lastHeaderClicked = headerClicked
- _lastDirection = direction
- End If
- End If
- End Sub
- Private Sub Sort(ByVal sortBy As String, ByVal direction As ListSortDirection)
- Dim dataView As ICollectionView = CollectionViewSource.GetDefaultView(TerminList.ItemsSource)
- dataView.SortDescriptions.Clear()
- Dim sd As New SortDescription(sortBy, direction)
- dataView.SortDescriptions.Add(sd)
- dataView.Refresh()
- End Sub
Jedoch bekomme ich an folgender Stelle eine Null-Reference-Exception:
Hat jemand eine Idee woran das liegen kann?
In einem Separaten Beispiel Projekt hat es noch geklappt.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Jojo0405“ ()