WPF布局

简介: 转自:http://blog.csdn.net/lisenyang/article/details/18312067WPF中存在5种布局元素Grid:网格。可以自定义行和列并通过行列的数量,行高,列宽来调整控件的布局。

 转自:http://blog.csdn.net/lisenyang/article/details/18312067

WPF中存在5种布局元素

  • Grid:网格。可以自定义行和列并通过行列的数量,行高,列宽来调整控件的布局。近似于HTML中的Table
  • StackPanel:栈式面板。可将包含的元素在水平或垂直方向排成一条线,当移除一个元素后,后面的元素会自动向前填充空缺
  • Cannas:画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Windows Fom的布局方式
  • DockPanel:泊靠式面板。内部元素可以选择泊靠的方向,类似于Winform中设置控件的Dock属性
  • WrapPanel:自行折行面板。内部元素在排满一行后能够自动折行,类似于HTML中的流式布局

  1.Grid

    特点:

  • 可以定义任意数量的行和列,非常灵活   
  • 行的高度和列的宽度可以使用绝对值,相对比例或自行调整的方式进行精确设定,并可以设置最大和最小值
  • 内部元素可以设置自己所在的行和列,还可以设置自己纵向跨几行,横向跨几列。
  • 可以设置Children元素的对齐方向

     适用场合

  • UI布局的大框架设计
  • 大量UI元素需要成行或者成列对齐的情况
  • UI尺寸改变的时候,元素需要保留固有的宽度和高度比例  
  • UI后期可能有较大的变更或扩展

     例题:

  

 <Grid Height="319" VerticalAlignment="Bottom">
        <Grid.RowDefinitions>
            <RowDefinition Height="1*"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <!--1*为比例-->
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="2*"/>
        </Grid.ColumnDefinitions>
        <Label Content="第一行第一列" Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
        <Label Content="第一行第二列" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
        <Label Content="第二行第一列" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
        <Label Content="第二行第二列" Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
    </Grid>

    2.StackPanel

    使用场合:

  • 同类元素需要紧凑排列(如制作菜单和列表)
  • 移除其中的元素后能够自动补缺的布局或动画    

    3.Canvas

       使用场合:

  • 一经设计,基本不用有改动的小型布局(如图标)
  • 艺术性较强的布局
  • 需要使用大量纵横坐标来进行绝对定位布局
  • 依赖纵横坐标的动画

   

 

相关文章
|
4月前
|
C# UED 开发者
WPF与性能优化:掌握这些核心技巧,让你的应用从卡顿到丝滑,彻底告别延迟,实现响应速度质的飞跃——从布局到动画全面剖析与实例演示
【8月更文挑战第31天】本文通过对比优化前后的方法,详细探讨了提升WPF应用响应速度的策略。文章首先分析了常见的性能瓶颈,如复杂的XAML布局、耗时的事件处理、不当的数据绑定及繁重的动画效果。接着,通过具体示例展示了如何简化XAML结构、使用后台线程处理事件、调整数据绑定设置以及利用DirectX优化动画,从而有效提升应用性能。通过这些优化措施,WPF应用将更加流畅,用户体验也将得到显著改善。
265 1
|
4月前
|
开发者 C# Windows
WPF布局大揭秘:掌握布局技巧,轻松创建响应式用户界面,让你的应用程序更上一层楼!
【8月更文挑战第31天】在现代软件开发中,响应式用户界面至关重要。WPF(Windows Presentation Foundation)作为.NET框架的一部分,提供了丰富的布局控件和机制,便于创建可自动调整的UI。本文介绍WPF布局的基础概念与实现方法,包括`StackPanel`、`DockPanel`、`Grid`等控件的使用,并通过示例代码展示如何构建响应式布局。了解这些技巧有助于开发者优化用户体验,适应不同设备和屏幕尺寸。
107 0
WPF-布局样式练习-Day02-聊天气泡
WPF-布局样式练习-Day02-聊天气泡
252 1
|
7月前
|
前端开发 C# 索引
浅谈WPF之UI布局
一个成功的软件,离不开人性化的UI设计,如何抓住用户第一视觉,让用户产生依赖感,合适优雅的布局必不可少。本文以一些简单的小例子,简述WPF中布局 面板 控件的使用,仅供学习分享使用,如有不足之处,还请指正。
102 1
|
前端开发 C# 容器
WPF技术之控件布局
WPF提供了多种布局控件和技术,可以帮助开发人员轻松创建灵活的用户界面。
179 0
WPF技术之控件布局
WPF-布局样式练习-Day01
WPF-布局样式练习-Day01
131 0
|
算法 C#
WPF/UWP 的 Grid 布局竟然有 Bug,还不止一个!了解 Grid 中那些未定义的布局规则
原文:WPF/UWP 的 Grid 布局竟然有 Bug,还不止一个!了解 Grid 中那些未定义的布局规则 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
1090 0
|
C#
[WPF] VisualBrush 中的布局
原文:[WPF] VisualBrush 中的布局 今天插一篇随笔。说一说上周五遇到的一个布局问题,问题大概是这样的:需要在一个快区域上添加一张透明的背景图片,由于区域较大、并且宽高都不是固定大小,图片较小 所以图片需要居中显示。
969 0
|
前端开发 C#
WPF编游戏系列 之一 布局设计
原文:WPF编游戏系列 之一 布局设计        本系列主要使用WPF和C#编写一个简单的小游戏(暂命名XMarket),意在通过该实例进一步学习和体验WPF,也欢迎广大同仁拍砖交流。言归正传,在编写一个软件前首先要思考软件的结构与布局,图片放在哪,按钮放在哪,都要先设计一下。
654 0