Есть ли WPF-элемент управления, который я могу использовать для расширения/свернуть панели (анимированные)
У меня есть окно с большим количеством контента. Я хотел бы иметь возможность разделить содержимое с помощью панелей и иметь разделитель, который пользователь может щелкнуть на переключателе между каждой панелью (с анимацией, которая перемещает разделитель слева направо, показывая один раздел и скрывая другое), Подумайте о панели навигации Microsoft Office (2007) . Есть ли простой способ сделать это?
Спасибо!
Ответы
Ответ 1
Я думаю, что вы ищете "Аккордеонный" контроль, вот сообщение abotu, как построить один из стека элементов управления Expander:
http://www.rooijakkers.net/Blog/post/2007/11/WPF-implementation-of-a-basic-Accordion-control.aspx
И для анимации взгляните на элемент "Reveal" из кевиновского мешка-o-трюков на http://j832.com/bagotricks/
Я думаю, что есть даже анимированный шаблон управления Expander на основе элемента Reveal в образце проекта.
Ответ 2
Мне также нужно это для моего приложения WPF, и лучшее, что я нашел, это полнофункциональный элемент управления Accordion в Silverlight Toolkit:
альтернативный текст http://www.sitechno.com/Blog/ct.ashx?id=a7c3c2d9-9446-4236-bc6e-c436427002ff&url=http%3a%2f%2fwww.sitechno.com%2fBlog%2fcontent%2fbinary%2ferindowsLiveW 2fAccordionpart1_102BB% 2fimage_2.png
Исходный код доступен здесь, а живая демонстрация здесь. Это, вероятно, легко портировать на WPF. В блоге Руурда Боке, состоящего из 5 частей, подробно обсуждается это. В части 4 он обсуждает, как изменить стиль аккордеона, используя шаблоны, чтобы получить этот великолепный аккордеонный вид:
(источник: sitechno.com)
(источник: sitechno.com)
Ответ 3
Я использую Expander.
<Expander Header="Items" IsExpanded="False">
...
</Expander>