我有一個道場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%?
不應該在BorderContainer的中心區域指定寬度和高度,只能指定sides/top/bottom。如果您的StackContainer位於中心,請刪除寬度/高度並查看它是否有所不同。是的,它應該自動調整StackContainer和孩子的大小。大概你在BorderContainers中有其他的東西? – peller 2010-05-25 16:57:15
感謝回覆peller。我在上面添加了其他信息。 – Andy 2010-05-26 08:07:31