您的位置:首页 > 移动开发

WPF-使用面板控制内容布局,比较Canvas,WrapPanel,StackPanel,Grid,ScrollViewer

2012-04-24 09:59 781 查看
<window>作用月内只能放置一个元素,窗口的Content属性只能设置一个对象。使用面板控件。

Canvas:使用绝对定位,如果窗口的大小小于canvas面板,一部分内容会看不见,canvas中的项不能自动调整大小,在canvas内的控件指定左上角,用Canvas.Top和Canvas.Left属性。

WrapPanel:内容随窗口大小的变化而变化,内容按声明顺序逐个呈现,用ItemWidth和ItemHeight控制子项的默认尺寸。根据Orientation设置Vertical,Horizontal布局。

StackPanel:不会内容折行,内容会自动拉伸。根据Orientation设置Vertical,Horizontal布局。

Grid:划分为单元格,定义并配置列,定义并配置行,设置每个单元格内容。

Grid对象支持拆分器(splitter),允许用户调整网格类型中行或列的大小,每个科调整的单元格都会根据所包含的项进行重塑。添加拆分器,只需要定义<GridSplitter>控件,并使用附加语法指定要拆分的行或列。

<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<GridSplitter Grid.Column="0" Width="5" Background="Gray"/>
<StackPanel Grid.Column="0" VerticalAlignment="Stretch">
<Label Name="lblSpellingInstructuins" FontSize="14" Margin="10,10,0,0">Spell Hints</Label>
<Expander Name="expanderSpelling" Header="try these">
<Label Name="lblSpellingHints" FontSize="12"/>
</Expander>
</StackPanel>

注意:支持拆分器的列的Width值为Auto。

ScrollViewer:内容自动滚动。

DockPanel: 将内容锁定在面板的某一侧(Top,Bottom,Left,Right),好处:在用户调整窗口大小时,每个元素仍然能连接到指定的面板边缘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐