Привязка к Вопросу CollectionViewSource - PullRequest
0 голосов
/ 17 июля 2011

Моя проблема выглядит следующим образом:

У меня есть 2 ListBox:

один связан с коллекцией, называемой фотографиями типа Photos, а другой связан с CollectionViewSource, который связан содна и та же коллекция фотографий.

listBox1 -> photos (здесь listBox1, конечно, привязан к стандартному представлению CollectionView фотографий, а не напрямую к фотографиям.)

ListBox2 -> cvs -> photos

обе коллекции (по умолчанию и моя CVS), имеющие фильтр, уменьшающий количество отображаемых элементов с 8 до 5 элементов.

теперь у меня 2 ярлыка.один связан со свойством Count объекта photos, а другой связан со свойством Count, где источником является объект cvs (my CollectionViewSource).

первая метка показывает число 8, и, как я вижуэто потому, что количество фотографий остается 8, хотя я и фильтрую его по умолчанию CollectionViewSource.

вторая метка показывает число 5.

то, что я узнал о привязке к cvs, это то, чтоWPF распаковывает исходный объект из cvs, а Path = Count относится к базовому объекту, который является фотографиями, и здесь также должно быть число 8.

Может кто-нибудь объяснить мне, где я работаю?

спасибо!

1 Ответ

2 голосов
/ 17 июля 2011

Привязка будет привязана не к исходной коллекции, а к представлению.Представление коллекции также имеет свойство Count, которое возвращает количество элементов в (отфильтрованном) представлении, а не в исходной коллекции.

(Вы можете использовать отладчикчтобы увидеть, что View свойство CollectionViewSource обычно будет объектом, который является экземпляром CollectionView или одним из его подклассов.Привязка будет неявно связываться с View.Count)

Для привязки к исходному количеству используйте путь SourceCollection.Count.

...