0

我有一种情况,我想将一个窗口限制在 BorderLayout 的中心区域。这当然可以正常工作,但是,当我单击最大化按钮时,底部停靠的工具栏被切断了。如果我只是不限制窗口,那么这不会发生。我不确定我是否遗漏了一些明显的东西,或者这可能是一个错误。这是使用版本 4.2.1。这是演示该问题的简化测试代码:

<html>

  <head>

    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <link rel="stylesheet" type="text/css"
      href="js/extjs/resources/css/ext-all.css">
    <script type="text/javascript" src="js/extjs/ext-all.js"></script>

    <script>

      Ext.onReady(function() {

        Ext.create("Ext.container.Viewport",
          { layout : "border",
            items: [
              { height : 60, region : "north", items: [ ] },
              { id : "regCenter", region : "center" }
            ]
          }
        );

        Ext.create("Ext.window.Window",
          { maximizable : true, width : 350, height : 440,
            constrainHeader : true, constrainTo : "regCenter",
            dockedItems : [
              { xtype : "toolbar", dock : "bottom",
                items : [ { text : "XXX" } ]
              }
            ],
            items : [ ]
          }
        ).show();

      });

    </script>

  </head>

  <body></body>

</html>

我已将其范围缩小到与 constrainTo 和 constrainHeader 相关...如果我删除其中一个或两个然后按预期最大化作品,则底部没有任何内容被切断。

提前感谢您的任何建议,弗兰克

4

1 回答 1

2

代替

constrainHeader : true, constrainTo : "regCenter",

放 :

constrain : true, renderTo :'regCenter',

正如constrainHeader的文档所说,

constrainHeader : Boolean True 将窗口标题限制在其包含元素内( 允许窗口主体落在其包含元素之外

约束:布尔

True 将窗口限制在其包含元素内,false 允许它落在其包含元素之外。默认情况下,窗口将呈现为 document.body。要在另一个元素中渲染和约束窗口,请指定renderTo。“可选地,只能使用 constrainHeader 约束标题”。

希望这个解释对你有用。

于 2013-10-07T07:39:54.657 回答