//File:Window.xaml.vb
Imports System
Imports System.Collections
Imports System.Windows
Imports System.Windows.Data
Imports System.Collections.ObjectModel
Namespace WpfApplication1
Public Partial Class Window1
Inherits Window
Public Sub New()
InitializeComponent()
End Sub
Private Sub SortButton_Click(sender As Object, args As RoutedEventArgs)
Dim sortableCountries As SortableCountries = DirectCast(Me.Resources("sortableCountries"), SortableCountries)
Dim lcv As ListCollectionView = DirectCast(CollectionViewSource.GetDefaultView(sortableCountries), ListCollectionView)
lcv.CustomSort = New SortCountries()
End Sub
End Class
Public Class SortCountries
Implements IComparer
Public Function Compare(x As Object, y As Object) As Integer Implements IComparer.Compare
Dim stringX As String = x.ToString()
Dim stringY As String = y.ToString()
Return stringX.CompareTo(stringY)
End Function
End Class
Public Class SortableCountries
Inherits ObservableCollection(Of String)
Public Sub New()
Me.Add("C")
Me.Add("B")
Me.Add("A")
End Sub
End Class
End Namespace