WPF:面板

1、Canvas

支持用显式坐标定位元素,可以用Left,Right,Top,Bottom来定位子元素

元素不能同时设置2个以上的Canvas属性

在子元素中定位边角:Canvas.Left="10"

默认为left=0,top=0,即靠左上角


2、StackPanel

会顺序对它的子元素进行排列

Orientation:排列顺序(横竖):Horizontal/Vertical(默认)

FlowDirection:元素顺序:RightToLeft/LeftToRight

Margin:控制元素与StackPanel,元素和元素之间的距离

HorizontalAlignment:

VerticalAlignment:

LayoutTransform:旋转后拉拉升元素原空间


3、WrapPanel

当没有足够的空间来存放子元素时,会把子元素封装在行和列中。

Orientation:排列顺序(横竖):Horizontal(默认)/Vertical

ItemHeight:所有子元素一致的高度,每个子元素填充的高度取决于自身,子元素高度比ItemHeight高的,都将被拦截,宽度同

ItemWidth:所有子元素一致的宽度

部分属性同StackPanel


4、DockPanel

支持让元素简单地停靠在整个面板的某一条边上,然后拉伸元素以填满全部宽度或者高度

支持让一个元素填充其他已停靠元素没有占用的剩余空间

Dock:Left(默认),Right,Top,Bottom(控制子元素的停靠)

LastChildFill:false/true(默认)(最后一个子元素填充所有剩余空间)


5、Grid

在一个多行、多列的表中排列子元素,提供多种特性来有效地控制行和列

例:

        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
</Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Label Grid.Row="0" Grid.Column="0" Background="Blue" Foreground="White" HorizontalContentAlignment="Center"> Start Page </Label> <GroupBox Grid.Row="1" Grid.Column="0" Background="GreenYellow" Header="Recent Projects">No.1</GroupBox> <GroupBox Grid.Row="2" Grid.Column="0" Background="GreenYellow" Header="Recent Projects">No.2</GroupBox> <GroupBox Grid.Row="3" Grid.Column="0" Background="GreenYellow" Header="Recent Projects">No.3</GroupBox> <GroupBox Grid.Row="1" Grid.Column="1" Background="Aquamarine" Header="Online Articles"> <ListBox> <ListBoxItem>One</ListBoxItem> <ListBoxItem>two</ListBoxItem> <ListBoxItem>three</ListBoxItem> <ListBoxItem>four</ListBoxItem> </ListBox> </GroupBox> </Grid>




使用Grid,首先要定义行和列:

<Grid.RowDefinitions>
                <RowDefinition/>    // 行
</Grid.RowDefinitions>

<Grid.ColumnDefinitions>
                <ColumnDefinition/>    // 列
 </Grid.ColumnDefinitions>

然后使用Grid.Row和Grid.Column定位子元素

RowSpan/ColumnSpan:合并行、列,默认为1

改变行和列的尺寸:绝对尺寸(Absolute sizing)、自动尺寸(Autosizing)、比例尺寸(Proportional sizing)

GridSplitter:交互改变尺寸,必须有一个显示的Width或者Height

SharedSizeGroup:共享属性  先设置IsSharedSizeScope属性<Grid IsSharedSizeScope="true">,然后在定义行列数时加上SharedSizeGroup="MyGroupNmae",需要共享属性的则都加上此属性


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值