using System.Collections.Generic;
using System.Windows.Data;
public static void Main()
List<int> source = new List<int>{1, 2, 3, 4, 5};
CollectionView view = new CollectionView(source);
view.Filter = x => (x is int) ? (int)x == filterValue : false;
Console.WriteLine("---");
Console.WriteLine("---");
private static void Dump(CollectionView view)
Console.WriteLine("<Collection>");
foreach (var value in view)
Console.WriteLine(" {0}", value);
Console.WriteLine("</>");
private static void MoveCurrentTo(CollectionView view, int value)
Console.WriteLine("{0} current to {1}", view.MoveCurrentTo(value) ? "Moved" : "Did not move", value);
private static void DumpCurrent(CollectionView view)
Console.WriteLine("Current: {0}", view.CurrentItem);
private static void DumpContains(CollectionView view, int value)
Console.WriteLine("{0} {1}", view.Contains(value) ? "Contains" : "Does not contain", value);