| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Binding Count ObservableCollection |
| Автор: DenWPF 17.7.2010, 13:05 |
| есть класс Catalog - он биндится к treeview а в нем есть ObservableCollection Podcatalog вот хочу прибиндить к treeview количество Podcatalog-ов. смотрел примеры но все не так как то делают, вообщем не получилось. |
| Автор: fvoice 19.7.2010, 13:21 | ||
не понятно куда это количество должно выводится? в заголовок родительской ноды? тогда
где ConverterName конвертер который получит ваш объект Catalog и вернет вам строку наподобе Name + items.Count() биндинг без указания path вернет datacontext, а в treeviewitem в контексте, если мне память не изменяет как раз лежит ваш объект Catalog |
| Автор: DenWPF 20.7.2010, 07:30 |
| спасибо, но теперь проблема, он не обновляется =( и на какое свойство сделать обновление? |
| Автор: fvoice 20.7.2010, 11:06 |
| Что то я сразу не додумался, сделайте вычисляемое поле в объекте которое будет возвращать нужную инфу в заголовок, забиндите на него без всяких конвертеров и реализуйте для объекта интерфейс INotifyPropertyChanged.. |
| Автор: DenWPF 20.7.2010, 17:29 |
| я про бывал...но у меня что то не так выходит..его же надо обновлять когда происходит добавление\удаление элементов ... но я там не чего не миогу записать |
| Автор: fvoice 21.7.2010, 08:26 |
| а ItemsSource у дерева вы переприсваиваете? или оно забиндено куда-то? если забиндено, то какой тип коллекции? используйте ObservableCollection, он умеет вызывать события на добавление удаление элементов. Добавлено @ 08:34 может вам чем то поможет, пример моего контрола на основе дерева, который в итемсорс принимает плоскую коллекцию, и самостоятельно строит дерево.. уже не помню, но по какой то причине использовал не самый оптимальный механизм получения древовидной коллекции.. это так, в оправдание и еще там комментарий к классу немного устарел.. но общий смысл понятен |
| Автор: DenWPF 21.7.2010, 11:21 |
| забиндин к DataContext через ObservableCollection и делаю. но как свойство Count отправить на обновление при изменнении коллекции не знаю. |
| Автор: fvoice 21.7.2010, 11:56 | ||
|
| Автор: DenWPF 21.7.2010, 13:25 | ||
что то не так:
пишет не задана ссылка на объекет хотя я не могу понять на какой объект. |
| Автор: fvoice 21.7.2010, 13:43 |
| PropertyChanged на null проверка нужна, но странно, раз он null значит на него никто не подписан, значит биндинг не работает.. или может это на этапе инициализации только |
| Автор: DenWPF 21.7.2010, 14:55 |
| new PropertyChangedEventArgs("Count") - не null. хотя и не какой полезной инфы в нем не нашел ObservableCollection - тоже |