我创建一个小部件并将其添加到 DockLayoutPanel 中,如下所示:
DockLayoutPanel dockPanel = new DockLayoutPanel(Unit.PCT);
dockPanel.addNorth(widget, size);
Run Code Online (Sandbox Code Playgroud)
尺寸参数决定什么?
Google 表示使用CSS 参数left、top、width、height、right 和bottom 来确定子项的大小(在基于约束的布局小节中)。
从逻辑上讲,传递值 100(单位为 %)作为大小将使小部件填充其容器,因为它代表单个维度。
我只是想获得一个布局,其中北部小部件的高度为 100px,宽度为 100%,东部和西部的高度为 100%,宽度为 25%,中心占据剩余空间。我用普通的 DockPanel 实现了这一点,但 UI 在窗口大小更改等方面不够强大。
我希望了解 DockLayoutPanel 大小调整的解释或任何有用的指针。提前致谢。
注意:我对使用 UI 绑定器不感兴趣,因为我已经创建了应用程序,此过程是维护工作。
我有一个功能, dir_con :: (Int -> Dir)
我想模式匹配找到哪个特定的构造函数dir_con.数据类型是:
data Dir = Define Int
| Equals Int
| Data Int
| LCset Int
| NoArg Int
Run Code Online (Sandbox Code Playgroud)
所以,dir_con将是Define,Equals等.它被传递给一个函数,我想像这样模式匹配:
case dir_con of
NoArg -> Do something specific
_ -> Do something for the rest
Run Code Online (Sandbox Code Playgroud)
编译器不喜欢这样.错误信息是Couldn't match expected type 'Int -> Dir' with actual type 'Dir'.
肯定NoArg是类型的构造函数(Int -> Dir)?Haskell不允许这种类型的模式匹配吗?我必须这样做,因为Dir构造函数来自地图.有关于我如何NoArg区别对待的建议吗?