![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| Compositum |
|
||||
|
Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Не удаётся найти объект, содержащийся в экземпляре Window через задействование метода FindName этого экземпляра. Петцольд (стр. 100) - экземпляр окна должен при поиске пройтись по всей иерархии вложенных объектов.
На практике получаю иной результат. Не находит даже то, что назначено непосредственно свойству Content окна:
не срабатывает и такой пример (для разнообразия):
Почему? П.С. Информация из МСДН (с рассмотрением прилагаемого примера) не помогла... Это сообщение отредактировал(а) Compositum - 13.9.2009, 11:30 |
||||
|
|||||
| Compositum |
|
||||
|
Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Попробовал написать свою версию реализации данного метода.
Код:
Но снова получаю проблему (смотреть комментарии):
Напрашивается мысль, мол проблема в том, что для классов Window и TreeView не корректно реализовано защищенное виртуальное свойство VisualChildrenCount property в библиотеке '.Net Framework', поскольку имея дочерние элементы данное свойство должно возвращать их количество. В указанном выше примере видно, что в данной позиции идет несостыковка. Однако если бы этот баг имел место быть, то невозможно было бы реализовывать для экземпляров данных классов свойства зависимостей или маршрутизация событий. Почему свойство VisualChildrenCount возвращает 0 ? |
||||
|
|||||
| Compositum |
|
|||
|
Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
выглядит это так:
|
|||
|
||||
| Compositum |
|
|||
|
Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
насчет FrameworkElement.FindName вопрос снят - нужно в коде дополнительно заюзать NameScope.
Однако касательно того, почему свойство FrameworkElement.VisualChildrenCount для озвученных выше элементов равнялось нулю - вопрос так и остается пока не решенным... =(((( |
|||
|
||||
| math64 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 2 Всего: 72 |
Может быть это из-за того, что app.Run() ещё не запущено?
А как быть здесь, регистрацию не сделаешь, компонент создавал не я:
|
||||
|
|||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 2 Всего: 72 |
В моём случае нужно вызывать
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |