Sorting, Grouping, Filtering and Currency Tracking with CollectionViews in WPF/MVVM 29-12-2015 15:11:58 C# / WPF 0 Bookmark(s) 219 View(s) public class ViewModel { public ViewModel() { var employees = new List(); employees.Add(new Employee { FirstName = "Snippet", LastName = "Source" }); var employeeView = new ListCollectionView(employees); // Sorting employeeView.SortDescriptions.Add( new SortDescription("FirstName", ListSortDirection.Ascending)); // Grouping employeeView.GroupDescriptions.Add(new PropertyGroupDescription("Country")); // Filtering employeeView.Filter = o => ((Employee)o).FirstName.StartsWith("Snippet"); // Currency tracking Employees.MoveCurrentToFirst(); Employees.CurrentChanged += EmployeesOnCurrentChanged; } private void EmployeesOnCurrentChanged(object sender, EventArgs e) { MessageBox.Show("Employee selected " + ((Employee)Employees.CurrentItem).LastName); } public ICollectionView Employees { get; private set; } }