Handling collection-changed events
The following example demonstrates how to subscribe to the CollectionChanged event of the DataGridCollectionView.SortDescriptions collection's INotifyCollectionChanged interface implementation to be notified when sorting applied to a grid's columns changes.
- C#
- VB.NET
protected override void OnInitialized( EventArgs e )
{
base.OnInitialized( e );
DataGridCollectionView view = this.OrdersGrid.ItemsSource as DataGridCollectionView;
( ( INotifyCollectionChanged )view.SortDescriptions ).CollectionChanged +=
new NotifyCollectionChangedEventHandler( this.SortCollectionChanged );
}
private void SortCollectionChanged( object sender, NotifyCollectionChangedEventArgs e )
{
Debug.WriteLine( "Sort changed" );
}
Protected Overrides Sub OnInitialized(ByVal e As EventArgs)
MyBase.OnInitialized(e)
Dim view As DataGridCollectionView = TryCast(Me.OrdersGrid.ItemsSource, DataGridCollectionView)
AddHandler (CType(view.SortDescriptions, INotifyCollectionChanged)).CollectionChanged,
AddressOf SortCollectionChanged
End Sub
Private Sub SortCollectionChanged(ByVal sender As Object, ByVal e As NotifyCollectionChangedEventArgs)
Debug.WriteLine("Sort changed")
End Sub