Есть ли элемент управления WPF, который я могу использовать для развертывания / сворачивания панелей (анимированных)
-
20-08-2019 - |
Вопрос
У меня есть окно, в котором много контента.Я хотел бы иметь возможность разделять содержимое с помощью панелей и иметь разделитель, по которому пользователь может нажимать на переключение между каждой панелью (с анимацией, которая перемещает разделитель слева направо, показывая один раздел и скрывая другой).Подумайте о Microsoft Office (2007) панель навигации.Есть ли простой способ добиться этого?
Спасибо!
Решение
Я думаю, что то, что вы ищете, - это элемент управления "Аккордеон", вот сообщение о том, как создать его из стека элементов управления Expander:
http://www.rooijakkers.net/Blog/post/2007/11/WPF-implementation-of-a-basic-Accordion-control.aspx
А для анимации взгляните на элемент управления "Раскрыть" из Kevin's bag-o-tricks на http://j832.com/bagotricks/
Я думаю, что есть даже анимированный шаблон управления Expander, основанный на элементе управления Reveal в примере проекта.
Другие советы
Это также нужно мне для моего приложения WPF, и лучшее, что я нашел, - это полнофункциональный элемент управления Accordion в Silverlight Toolkit:
Исходный код доступен здесь, и живая демо - версия здесь.Вероятно, его легко перенести в WPF.Там есть запись в блоге из 5 частей автор: Руурд Боеке, обсуждающий это в деталях.В часть 4, он обсуждает , как изменить стиль аккордеона с помощью шаблонов , чтобы получить этот великолепный внешний вид аккордеона.:
(источник: sitechno.com)
(источник: sitechno.com)
Я использую Расширитель.
<Expander Header="Items" IsExpanded="False">
...
</Expander>