Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Взаимное расположение Expander'ов


Автор: ReFLeXive 25.1.2012, 22:01
Доброго времени суток!
Разбираюсь с WPF и вот в чем проблема: есть 2 раскрывающихся списка, расположенных один поверх другого. Мне нужно, чтобы при раскрытии вехнего списка, нижний список автоматически съезжал вниз на величину, равную высоте раскрытия верхнего списка. Т.е. чтобы было примерно как в Outlook  в панельке слева (Почта, контакты и проч..).
1)Как лучше реализовать подобное? Как вариант: при раскрытии списка у всех нижележащих делать что то вроде expander2.Margin.Top += expander1.Height;
2) правильно ли я сделал, что выбрал Expander для своей цели?

Вот пример окошка:
user posted image

Автор: Bitaxa 25.1.2012, 22:17
StackPanel тебе в помощь;)
А именно:
Код

<StackPanel>            
            <Expander Header="More Options">
                <StackPanel Margin="10,4,0,0">
                    <CheckBox Margin="4" Content="Option 1" />
                    <CheckBox Margin="4" Content="Option 2" />
                    <CheckBox Margin="4" Content="Option 3" />
                </StackPanel>
            </Expander>
            <Expander Header="More Options">
                <StackPanel Margin="10,4,0,0">
                    <CheckBox Margin="4" Content="Option 1" />
                    <CheckBox Margin="4" Content="Option 2" />
                    <CheckBox Margin="4" Content="Option 3" />
                </StackPanel>
            </Expander>
</StackPanel>  


Попробуй такую конструкцию, я думаю это именно то что ты хотел сделать=)

Автор: ReFLeXive 26.1.2012, 20:13
Спасибо большое, это именно то поведение, которое я хочу!

Автор: Bitaxa 26.1.2012, 20:22
Пажалуста. Еще можно нагуглить как анимашки запилить, и тогда можно например подраскрасить Бэкграунды у Экспандеров + анимашки раскрытия и будет абалденна=))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)