WPF中的StackPanel和DockPanel有什么区别?

Cas*_*ash 50 wpf

什么可以DockPanel做到的StackPanel不可以?如果有人有一个可以通过a StackPanel而不是a 获得的东西的图像DockPanel,那将是伟大的.

Dha*_*ust 86

堆栈面板:StackPanel顾名思义,它可以水平或垂直排列内容.Vertical是默认值,但可以使用Orientation属性更改.内容会根据方向自动拉伸(请参见下面的屏幕截图),这可以通过更改HorizontalAlignmentVerticalAlignment属性来控制.

StackPanel示例截图

Dock Panel:DockPanel用于将元素锚定到容器的边缘,是设置应用程序UI整体结构的不错选择.元素使用DockPanel.Dock附加属性停靠.停靠元素的顺序决定了布局.

DockPanel示例截图

  • `StackPanel`不会将其子项约束为可用大小,而`DockPanel`将调整最后一个子项的大小以占用所有剩余空间.[StackPanel中-DockPanel中和滚动-项目](http://blogs.msdn.com/b/marcelolr/archive/2009/06/09/stackpanel-dockpanel-and-scrolling-items.aspx) (14认同)