2010-05-25 69 views
1

我有一個道場1.4應用中的以下嵌套佈局:道場StackContainer兒童不調整瀏覽器的最大化/還原

1使用BorderContainer

- >棧貨櫃1

- > - - >使用BorderContainer 2

- > - >使用BorderContainer 3

的StackContainer的尺寸與寬度和高度爲100%。 當我使用maximize/restore調整瀏覽器窗口大小時,StackContainer會正確調整其父BorderContainer的中心區域。

我遇到的問題是StackContainer子項(BorderContainer 2和3)沒有被調整到StackContainer的contentBox。

是否有什麼特別的你必須做的強制調整StackContainer兒童? 我曾嘗試調用StackContainer1.resize(),但這沒有什麼區別。

在此先感謝。

附加信息:

感謝您的回覆peller。包含StackContainer的小部件層次實際上是一個自定義小部件,因此StackContainer實際上不是直接在BorderContainer中,而是將其高度和寬度明確設置爲100%。這工作和StackContainer調整正確的瀏覽器最大化。 stackcontainer的直接子元素是BorderContainers,這些BorderContainer在StackContainer調整大小時不會調整大小。確切標記是:

<div dojoType="dijit.layout.StackContainer" style="height:100%;width:100%;"> 
    <div dojoType="dijit.layout.BorderContainer" gutters="false" style="height:100%;width:100%;padding:0;" id="bcWrongSize"> 
    </div> 
</div> 

它是使用BorderContainer「bcWrongSize」不得到與父StackContainer調整。在StackContainer上指定的內聯高度和寬度由StackContainer替換爲顯式像素尺寸。但是,在瀏覽器調整大小時,StackContainer會正確調整爲其父部件,但BorderContainer上的顯式高度和寬度不正確。 事先調用StackContainer上的佈局方法,並調整BorderContainer(作爲可見子項)的大小。但是,傳遞給BorderContainer的_contentBox尺寸是其調整前的StackContainer尺寸。由dojo.marginBox計算的寬度和高度不正確(offsetWidth和offsetHeight是瀏覽器最大化之前的維度)。 也許這個問題是因爲StackContainer是一個自定義小部件的subContainerWidget,所以大小和寬度和高度都是100%?

+0

不應該在BorderContainer的中心區域指定寬度和高度,只能指定sides/top/bottom。如果您的StackContainer位於中心,請刪除寬度/高度並查看它是否有所不同。是的,它應該自動調整StackContainer和孩子的大小。大概你在BorderContainers中有其他的東西? – peller 2010-05-25 16:57:15

+0

感謝回覆peller。我在上面添加了其他信息。 – Andy 2010-05-26 08:07:31

回答

3

我們在一個項目上有類似的問題。以下是我們工作的片段。請注意,stackContainer(位於邊框容器中)的區域使用以及內邊框容器上缺少高度/寬度。

<div dojotype="dijit.layout.StackContainer" jsid="buttonStack" region="bottom" style="height: 180px"> 
     <div jsid="selectionButtons" dojotype="dijit.layout.BorderContainer" gutters="false"> 
      <div dojotype="dijit.layout.ContentPane" region="bottom"> 
       <button id="btnClearSelection" dojotype="dijit.form.Button" 
        label="Clear Selection" disabled> </button> 
       <button id="btnClearAll" dojotype="dijit.form.Button" 
        label="Clear All" disabled> </button> 
      </div> 
     </div> 
<div>