Вы всегда привязываете к ICollectionView
независимо от того, делаете это явно или нет.
Предположим, что у нас есть
var collection = new ObservableCollection<string>();
var collectionView = CollectionViewSource.GetDefaultView(collection);
В этом случае привязкаcollection
или collectionView
- это одно и то же: механизм привязки будет привязываться к представлению коллекции по умолчанию (ссылка на который равна collectionView
), если вы скажете ему привязаться к collection
.
Это означает, что ответ на ваш вопрос «это не имеет абсолютно никакого значения».
Просто чтобы быть полностью ясным: даже если вы привязываете к коллекции напрямую, механизм привязки будетпривязать к виду по умолчанию.Изменение свойств представления, таких как критерии сортировки, повлияет на привязку, которая, по-видимому, привязывается непосредственно к коллекции, поскольку за обложками вместо этого находится привязка к представлению по умолчанию.
Однако есть еще один интересный и связанный вопрос: следует ли связывать с представлением коллекции по умолчанию (т. е. с самой коллекцией, поскольку нет причин явно связывать с представлением по умолчанию) или с другим представлением той же коллекции?
Учитывая, что у каждого представления есть своиИз собственного представления о текущем элементе, критериях сортировки и т. д. следует, что если вы намереваетесь иметь несколько привязок к одной и той же коллекции, а связанные элементы управления должны иметь различные понятия о текущем элементе, фильтрах и компании, то вам нужно явно указатьпривязка к нескольким представлениям одной и той же базовой коллекции.