WPF学习

xaml学习

1.高度定义

绝对尺寸(about sizing):一个实际得数字

自动(autosizing):值为Auto.实际作用是取实际控件得所需得最小值

Proportinal sizing(也可以叫做star sizing 因为有个*号例如110*或者*等).实际作用取尽可能大得值. 当出现多行或者多列被定义为*则代表他们之间按比例方设置尺寸

2.布局

在WPF窗体中,一个窗体只能持有一个控件,当多个控件想要在窗体中展现时,就需要先设置一个容器控件(continer),然后将其他控件放到这个控件里.形成树状结构.

第一条-控件得布局应该由容器来决定而不是通过自身使用margin之类得东西来控制位置,因为这些属性原本应该是控制自己内部展现或者邻里之间得关系

第二条-控件应该避免明确的定义具体得尺寸,因为显示器得分辨率以及windows得大小可能随时会改变.写得太具体了会出现大面积得空白或者缺失.但为了控件功能及展示得效果,应该限定一个可接受的最大及最小尺寸.通过MinWidth,MinHeight,MaxWidth,MaxHeight来设置

第三条-不要将界面元素设置成与屏幕坐标相关.

第四条-容器将有效空间共享给其他子控件

第五条-容器嵌套使用,不同得容器表现效果不同,必要时要结合使用

代码:

<Grid>

        <Grid.RowDefinitions>

            <RowDefinition Height="*" />

            <RowDefinition Height="Auto" />

            <RowDefinition Height="22" />

        </Grid.RowDefinitions>

        <ListView Name="listView1" MinWidth="280" >

            <ListView.View>

                <GridView x:Name="gridView1">

                    <GridViewColumn Header="ContactID"></GridViewColumn>

                    <GridViewColumn Header="FirstName"></GridViewColumn>

                    <GridViewColumn Header="LastName"></GridViewColumn>

                    <GridViewColumn Header="EmailAddress"></GridViewColumn>

                </GridView>

            </ListView.View>

        </ListView>

        <WrapPanel Grid.Row="1" Orientation="Horizontal"></WrapPanel>

        <Button Grid.Row="2" HorizontalAlignment="Right" Click="button1_Click" Name="button1">Refresh</Button>

    </Grid>

代码分析

1) 容器控件 Grid和WrapPanel.

Grid即网络.前面定义了三行高度分别是*,Auto和22.其实还可以通过ColumnDefinition来定义多个列.他得子控件被放在一个一个得实现定义好得小格子.整齐排列

WrapPanel,是将各个控件按照行或列,当长度或者高度不够就会自动调换列或者行

另外还有一个常用得StackPanel,将控件按照行或者列来排列不会回行

2) 在代码中WrapPanel及button上面得Grid.Row="n",这个就是Attack properties用来设置WrapPanel及button应该在父容器得什么位置.这是WPF得特性之一.

3) ListView.View及Grid.RowDefinitions. 这是Complex Properties

4) x:Name = "sss". 是Markup Extensions()




http://www.cnblogs.com/zcttxs/archive/2012/04/01/2428527.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值