У меня есть табоконтейнер 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()
?
Нет, я просто посмотрел на свою разметку, а левая область содержит BorderConainer и ContentPane. По умолчанию ContentPane скрыт. У BorderContainer есть кнопка, которая скрывает BorderContainer и показывает ContentPane ... ContentPane содержит кнопку, делает наоборот. Я попробовал layout() во всех контейнерах макетов в дереве и не изменял размер после замены видимости BorderContainer и ContentPane. –
Вы хотите переключить видимость двух виджетов, пограничного контейнера и области содержимого? Если это так, то StackContainer - это то, что вы хотите. Это вызовет изменение размера дочерних виджетов, но для содержимого контентной панели вам придется вручную изменять размер. – Andy