Silverlight и icollectionview

Чтобы «изменить» пути для значений %IIS_USER_HOME% и %IIS_SITES_HOME%, пожалуйста, см. Мое объяснение здесь .

5
задан zachary 10 June 2009 в 13:18
поделиться

4 ответа

Я ищу то же самое, и нашел эту статью от Колина Эберхардта . В нем показано, как реализовать сортировку с помощью реализации ICollectionView

. Если вы выяснили, как реализовать фильтрацию, дайте мне знать.

5
ответ дан 14 December 2019 в 04:46
поделиться

Вот как вы выполняете сортировку с помощью ICollectionView.

ICollectionView view = CollectionViewSource.GetDefaultView(someCollection);
view.SortDescriptions.Add(new SortDescription("someProperty", ListSortDirection.Ascending));
view.SortDescriptions.Add(new SortDescription("someOtherProperty", ListSortDirection.Descending));

Однако это не совсем то, что я бы назвал «настраиваемой сортировкой» ... Она просто позволяет вам выбирать критерии и направление сортировки. Не могли бы вы уточнить, чем вы хотите заниматься?

0
ответ дан 14 December 2019 в 04:46
поделиться

Лучший пример, который я нашел, - это реализация Microsoft ICollectionView, созданная для использования с DataGrid. К сожалению, они пометили его внутренним, поэтому вы не можете просто использовать его напрямую (а копирование и вставка исходного кода требует некоторых изменений). Выньте Reflector и откройте System.Windows.Controls.Data.dll - перейдите в пространство имен System.Windows.Controls и там вы найдете ListCollectionView. Вот определение, показывающее, что он реализует ICollectionView:

внутренний класс ListCollectionView: ICollectionView, INotifyCollectionChanged, INotifyPropertyChanged, IEnumerable ...

Мне очень хотелось бы, чтобы MS предоставила этот класс - он нужен практически каждому бизнес-приложению.

1
ответ дан 14 December 2019 в 04:46
поделиться

Silverlight 3 теперь поддерживает и реализует ICollectionView под названием PagedCollectionView .

Это обеспечивает сортировку и группировку, но не фильтрацию.

2
ответ дан 14 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: