Разверните расширитель WPF, чтобы отобразить содержащийся элемент.

У меня есть расширитель, содержащий n элементов (возможно, другие расширители, которые также содержат элементы).

Теперь я хочу программно отобразить содержащийся элемент — например, с помощью BringIntoView() для ScrollViewers. Все расширители, которые в данный момент скрывают элемент, должны расшириться.

Моя текущая идея состоит в том, чтобы создать подкласс Expander и заставить его реагировать на событие, которое всплывает из содержащегося элемента. Но в WPF может быть гораздо более простой способ, верно?


person Thorsten79    schedule 23.10.2009    source источник


Ответы (1)


Для этого вы можете создать присоединенное свойство вместо создания подкласса существующего класса Expander. Эта точка доступа будет иметь тип bool, и когда она будет установлена ​​в True на расширителе, зарегистрируйтесь для события Expanded. В обработчике событий вы можете подняться по логическому дереву, чтобы захватить родительский Expander, а togle — это свойство IsExpanded.

person japf    schedule 23.10.2009