2009-09-28 1 views
1

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

Хороший пример в Outlook 2007, «Почтовая папка» слева сокращается с размером окна, но другие элементы управления этого не делают.

Заранее спасибо.

+0

Чтобы быть более конкретным, где бы я начал создавать левую панель, похожую на внешний вид, т.е. когда вы изменяете размер строки меню, кнопки скрыты, а значок добавляется снизу. –

ответ

0

Thanks Paul,

Я сам нашел что-то интересное. Я расширил управление сеткой простым методом, который срабатывает при расширении расширителя, я бы назвал это.

 

RowDefinitions[GetRow(expander)].Height = (expander != selectedExpander) ? 
    new GridLength(1, GridUnitType.Auto) : 
    new GridLength(1, GridUnitType.Star); 

Это работает очень хорошо.

0

StackPanel не будет толкать высоту на своих дочерних элементах - это позволяет каждому ребенку иметь размер настолько большой, насколько ему нравится. Вы можете попробовать использовать сетку вокруг расширителей и дать каждой строке высоту звезды, чтобы содержимое изменялось.

 Смежные вопросы

  • Нет связанных вопросов^_^