2010-07-16 5 views
1

У меня есть табоконтейнер dojo, у которого есть дочерний элемент BorderContainer, с левой областью и центральной областью ContentPanes.Обновить макет dijit.layout.ContentPane

-TabContainer 
    -BorderContainer 
     -ContentPane (left) 
     -dojox.layout.ContentPane (center) 

Я его установки так, чтобы левая ContentPane складная (заменив ее громоздкой ContentPane), который работает отлично. Однако идея этой функции состоит в том, чтобы сделать область центра (dojox.layout.ContentPane) более широкой, но когда левая панель рушится до тонкой, центральная область остается той же ширины.

Теперь я знаю, что могу позвонить refresh() по центру ContentPane, но это также обновляет содержимое, поскольку центр ContentPane извлекается через href - что я не понимаю, поскольку он теряет изменения в форме данных.

Итак, как мне получить центр ContentPane, чтобы обновить его макет, не вручную вычисляя правильную ширину и вызывая resize()?

ответ

0

как вы заменяете левую панель? Вы используете методы addChild/removeChild? Как просто изменить ширину левой панели, а не заменять ее?

+0

Нет, я просто посмотрел на свою разметку, а левая область содержит BorderConainer и ContentPane. По умолчанию ContentPane скрыт. У BorderContainer есть кнопка, которая скрывает BorderContainer и показывает ContentPane ... ContentPane содержит кнопку, делает наоборот. Я попробовал layout() во всех контейнерах макетов в дереве и не изменял размер после замены видимости BorderContainer и ContentPane. –

+1

Вы хотите переключить видимость двух виджетов, пограничного контейнера и области содержимого? Если это так, то StackContainer - это то, что вы хотите. Это вызовет изменение размера дочерних виджетов, но для содержимого контентной панели вам придется вручную изменять размер. – Andy

2

Или вы могли бы использовать dojox.layout.ExpandoPane. Это ContentPane, который обладает способностью «щелкнуть, чтобы минимизировать».

+0

Возможно, я смогу добиться того, что хочу, с измененной версией dojox.layout.ExpandoPane ... Я попробую это. –

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