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

<window>作用月内只能放置一个元素,窗口的Content属性只能设置一个对象。使用面板控件。

 

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

 

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

 

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

 

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

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

[html]  view plain  copy
  1. <Grid.ColumnDefinitions>  
  2.                 <ColumnDefinition <span style="color:#ff0000;">Width="Auto"</span> />  
  3.                 <ColumnDefinition/>  
  4.             </Grid.ColumnDefinitions>  
  5.             <span style="color:#ff0000;"><GridSplitter</span> Grid.Column="0" Width="5" Background="Gray"/>  
  6.             <StackPanel Grid.Column="0" VerticalAlignment="Stretch">  
  7.                 <Label Name="lblSpellingInstructuins" FontSize="14" Margin="10,10,0,0">Spell Hints</Label>  
  8.                 <Expander Name="expanderSpelling" Header="try these">  
  9.                     <Label Name="lblSpellingHints" FontSize="12"/>  
  10.                 </Expander>                 
  11.             </StackPanel>  

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

 

ScrollViewer:内容自动滚动。

 

DockPanel: 将内容锁定在面板的某一侧(Top,Bottom,Left,Right),好处:在用户调整窗口大小时,每个元素仍然能连接到指定的面板边缘。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值