我有一种情况,我想将窗口限制在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有关的事情......如果我删除其中一个或两个,那么最大化按预期工作,底部没有任何切断。
提前感谢任何建议, 弗兰克
答案 0 :(得分:2)
而不是
constrainHeader : true, constrainTo : "regCenter",
把:
constrain : true, renderTo :'regCenter',
正如 constrainHeader 的文档所述,
constrainHeader:Boolean 如果为True,则限制其包含元素中的窗口标题( 允许窗体落在其包含元素之外)
并且
约束:布尔
True以限制窗口在其包含元素内,false为允许它落在其包含元素之外。默认情况下,窗口将呈现给document.body。要在另一个元素中呈现和约束窗口,请指定 renderTo 。 “可选地,只能使用constrainHeader约束头部。”
希望这个解释对你有用。