码迷,mamicode.com
首页 > 其他好文 > 详细

WPF初学(一)——布局【良好界面的基础】

时间:2014-07-16 19:25:48      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:winform   style   blog   http   使用   width   

由Winform转到WPF的一部分人,很可能忽略掉布局,习惯性的使用固定定位。然而,没有良好的布局,后面界面控件画的再好看,花哨,都不过是鲜花插在牛粪上,很可能始终都是一坨??(呵呵)。

闲话少说,首先说说WPF中最常用,其实功能也最强大的布局——Grid,很多时候,偶们只会注意到其最常用这一特点,而其之强大往往被忽略,其强大之处在于他可以替换到其他大部分布局面板,当然使用起来或许没有那些特种需求布局面板方便。

简例:Grid布局3行3列,行等分,列比例为1:2:3

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="2*"/>
        <ColumnDefinition Width="3*"/>
    </Grid.ColumnDefinitions>
</Grid>

除了使用“*”来自适应,亦可以使用“auto”,两者的不同之处在于,*比例等分【对外】,auto根据内部控件自动调整大小【对内】。【bubuko.com,布布扣,关于wpf有时界面模糊问题,有属性UseLayoutRounding,将其设为True——自己偶尔在一本书上看到的,叫布局舍入,遇到相同问题的同学,可以试试此法】

——相似布局面板UniformGrid布局【网格布局,用的偏少,有兴趣的童鞋可以玩玩】

 

布局使用排行老二的应该是StackPanel【个人用的比较多,别人偶就不知道啦】,其就是一个单方向的栈【经典的排队】。

简例:

<StackPanel>
    <Button Content="One" />
    <Button Content="Two" />
    <Button Content="Three" />
    <Button Content="Four" />
</StackPanel>

偶常常喜欢将另一个面板与其放到一块——WrapPanel流式布局,偶觉得他们就像TextBlock中的TextWrap属性一样,以是否可以换行加以区分,WrapPanel应该是学生最好理解的一个,毕竟每一个学生写作业,作文啥的一行一行写过来的【bubuko.com,布布扣,做作业最那个疼啦】。

 

还有一个比较常用的布局面板就是DockPanel,做过Winform开发应该都知道Winform控件中经常有Dock属性,而这个布局就类似Winform的Dock属性。其就像是家里的一个房间,一些东西靠左边墙放,另一些东西靠右边。

 

既然决定用wpf,最需要放下的就是使用Canvas布局啦,当然他的存在毕竟还是有其意义的,不过偶好像木有发现。。。。

 

最后就是要提一下一个非布局面板的控件——Border,此控件可以说是不是布局面板的布局控件,经常和布局控件厮混在一起。如需要一个圆角边框就会使用Border套在一个布局面板外面。

WPF初学(一)——布局【良好界面的基础】,布布扣,bubuko.com

WPF初学(一)——布局【良好界面的基础】

标签:winform   style   blog   http   使用   width   

原文地址:http://www.cnblogs.com/huaxia283611/p/3841291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!