Layout Dojo布局-面板内的两个面板

Layout Dojo布局-面板内的两个面板,layout,dojo,Layout,Dojo,我刚刚开始学习dojo以进行评估练习(我们可能在工作中使用它)。这个项目的时间表可能不允许我从头开始学习这个,所以我正在深入研究。我想知道是否有人能给我指出正确的方向 下面的代码表示他们教程中的一页 ^^这是什么意思 我已经做到了,但我希望中间有两个面板:一个普通的内容面板在顶部,另一个选项卡面板在下面。下面的代码代表了我如何实现这一点。我发现,如果我注释掉内容窗格(里面有“Hello world”的那一个),它就会“接管”它的父内容窗格,而选项卡面板甚至不再显示。取消它的注释,我就可以拿回我

我刚刚开始学习dojo以进行评估练习(我们可能在工作中使用它)。这个项目的时间表可能不允许我从头开始学习这个,所以我正在深入研究。我想知道是否有人能给我指出正确的方向

下面的代码表示他们教程中的一页

^^这是什么意思

我已经做到了,但我希望中间有两个面板:一个普通的内容面板在顶部,另一个选项卡面板在下面。下面的代码代表了我如何实现这一点。我发现,如果我注释掉内容窗格(里面有“Hello world”的那一个),它就会“接管”它的父内容窗格,而选项卡面板甚至不再显示。取消它的注释,我就可以拿回我的标签了

有人能给我指出一个好的例子,说明如何做到这一点吗

<div id="appLayout" class="demoLayout" data-dojo-type="dijit.layout.BorderContainer"
    data-dojo-props="design: 'headline'">

    <div class = "centrePanel"
        data-dojo-type="dijit.layout.ContentPane"
        data-dojo-props="region: 'center'">

            <%-- I want to uncomment this bit!!
            <div 
                data-dojo-type="dijit.layout.ContentPane"
                data-dojo-props="region: 'top'">
                    Hello World                    
            </div>
            --%>

            <div 
                data-dojo-type="dijit.layout.TabContainer"
                data-dojo-props="region: 'center'">
                <asp:ContentPlaceHolder ID="MainContent" runat="server">
                </asp:ContentPlaceHolder>                    
            </div>                



    </div>        
    <div class="edgePanel" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'top'">Header content (top)</div>
    <div id="leftCol" class="edgePanel" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'left', splitter: true">Sidebar content (left)</div>
</div>

标题内容(顶部)
边栏内容(左)

您可以在中心内容窗格中嵌套第二个borderContainer(而不是tabcontainer),design=headline。 然后,可以将ContentPane放在内部bordercontainer的顶部,将tabcontainer放在同一容器的中间部分

这个神奇的工具可以帮助您生成正确的布局:

只需创建一个新的HTML页面,并查看左侧栏上的“Dojo容器”部分

所以你的例子应该是:

<div id="appLayout" class="demoLayout" data-dojo-type="dijit.layout.BorderContainer"
data-dojo-props="design: 'headline'">

<div class = "centrePanel"
    data-dojo-type="dijit.layout.ContentPane"
    data-dojo-props="region: 'center'">
        <div id="innerLayout" data-dojo-type="dijit.layout.BorderContainer"
data-dojo-props="design: 'headline'">

            <div 
                data-dojo-type="dijit.layout.ContentPane"
                data-dojo-props="region: 'top'">
                    Hello World                    
            </div>


            <div 
                data-dojo-type="dijit.layout.TabContainer"
                data-dojo-props="region: 'center'">
                <asp:ContentPlaceHolder ID="MainContent" runat="server">
                </asp:ContentPlaceHolder>                    
            </div>                

    </div>

</div>        
<div class="edgePanel" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'top'">Header content (top)</div>
<div id="leftCol" class="edgePanel" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'left', splitter: true">Sidebar content (left)</div>

你好,世界
标题内容(顶部)
边栏内容(左)

谢谢您的帮助。复制/粘贴上面的代码实际上不起作用,但它让我朝着正确的方向前进,我已经成功地实现了我想要实现的目标!你知道有什么合适的资源来学习布局方面的知识吗?官方网站看起来有点像雪花。顺便说一下,你也可以在没有内部边界容器的情况下进行布局。只需将TabContainer放在“底部”区域,将ContentPane放在“中心”区域即可。。。与内部BorderContainer不完全相同,必须将外部BorderContainer的设计从标题切换到边栏。。。