Чтобы «изменить» пути для значений %IIS_USER_HOME%
и %IIS_SITES_HOME%
, пожалуйста, см. Мое объяснение здесь .
Я ищу то же самое, и нашел эту статью от Колина Эберхардта . В нем показано, как реализовать сортировку с помощью реализации ICollectionView
. Если вы выяснили, как реализовать фильтрацию, дайте мне знать.
Вот как вы выполняете сортировку с помощью ICollectionView.
ICollectionView view = CollectionViewSource.GetDefaultView(someCollection);
view.SortDescriptions.Add(new SortDescription("someProperty", ListSortDirection.Ascending));
view.SortDescriptions.Add(new SortDescription("someOtherProperty", ListSortDirection.Descending));
Однако это не совсем то, что я бы назвал «настраиваемой сортировкой» ... Она просто позволяет вам выбирать критерии и направление сортировки. Не могли бы вы уточнить, чем вы хотите заниматься?
Лучший пример, который я нашел, - это реализация Microsoft ICollectionView, созданная для использования с DataGrid. К сожалению, они пометили его внутренним, поэтому вы не можете просто использовать его напрямую (а копирование и вставка исходного кода требует некоторых изменений). Выньте Reflector и откройте System.Windows.Controls.Data.dll - перейдите в пространство имен System.Windows.Controls и там вы найдете ListCollectionView. Вот определение, показывающее, что он реализует ICollectionView:
внутренний класс ListCollectionView: ICollectionView, INotifyCollectionChanged, INotifyPropertyChanged, IEnumerable ...
Мне очень хотелось бы, чтобы MS предоставила этот класс - он нужен практически каждому бизнес-приложению.
Silverlight 3 теперь поддерживает и реализует ICollectionView под названием PagedCollectionView .
Это обеспечивает сортировку и группировку, но не фильтрацию.