WPF VB.Net

    x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApplication1"
    Title="WPF" Height="300" Width="180">
    
        
    

    
        
            
            
        

    


//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