今天我来给大家讲解在学习WPF过程中使用布局控件的一些心得,主要给大家介绍一下一个控件的用法。希望对大家学习Wpf有所帮助.

1.       StackPanel栈面板

2.       WrapPanel环绕面板

3.       DockPanel停靠面板

4.       Grid网格

5.       UniformGrid均布网格

6.       Canvas画布

1.       StackPanel栈面板

栈面板是WPF中最简单的面板,用来在小范围内布局效果非常好。将它包含的元素按一行或者一列进行排列.StackPanel内的元素不会换行。如果stackPanel内没有足够的空间,它内部的元素超过了它所容纳的范围时,内部元素将被截取。

通过设置Orientation属性为Horizontal, Vertical

可以使stackpanel内部的元素水平或垂直排列,关于这点用户可以自己试验

效果图如下:

 

代码

  <Window x:Class="WpfPanel.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="367" Width="505">

<Grid>

<StackPanel  Margin="0" Name="stackPanel1" Orientation="Vertical">

<Button Content="Button"  Name="button1" />

<Button Content="Button"  Name="button2" />

<Button Content="Button"  Name="button3"  />

<Button Content="Button" Name="button4" />

<Button Content="Button"  Name="button5" />

</StackPanel>

</Grid>

</Window>

.

通过设置stackpanel内部控件的VerticalAlignment属性,可以设置其内部控件的排列方式。

StackPanel属性为Orientation="Horizontal",可以设置内部控件的VerticalAlignment来设置其对齐方式

StackPanel属性为Orientation=" Vertical ",可以设置内部控件的HorizontalAlignment来设置其对齐方式

效果图

 

代码

<Window x:Class="WpfPanel.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="367" Width="505">

<Grid>

<StackPanel  Margin="0" Name="stackPanel1" Orientation="Horizontal">

<Button Content="Button1"  Name="button1" VerticalAlignment="Top" />

<Button Content="Button2"  Name="button2"  VerticalAlignment="Bottom"/>

<Button Content="Button3"  Name="button3" VerticalAlignment="Center"  />

<Button Content="Button4" Name="button4" VerticalAlignment="Stretch" />

<Button Content="Button5"  Name="button5" VerticalAlignment="Top" />

</StackPanel>

</Grid>

</Window>

2.        WrapPanel环绕面板

Wrappanel面板的使用和stackpanel面板一样,但是如果wrappanel面板内部没有足够的空间,其子元素超出了其内部可容纳的宽度,可以换行显示.

效果图:

 

代码

<Window x:Class="WpfPanel.wrappanelOne"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="wrappanelOne" Height="300" Width="300">

<Grid>

<WrapPanel Height="100" HorizontalAlignment="Left" Margin="30,82,0,0" Name="wrapPanel1" VerticalAlignment="Top">

<Button Content="Button" Height="23" Name="button1" Width="75" />

<Button Content="Button" Height="23" Name="button2" Width="75" />

<Button Content="Button" Height="23" Name="button3" Width="75" />

<Button Content="Button" Height="23" Name="button4" Width="75" />

</WrapPanel>

</Grid>

</Window>

3.        Dockpanel布局面板

Dockpanel面板主要用来拉伸其内部控件并使控件停靠在内部的某个位置,主要用来做整体布局设计使用。

Dockpanel提供了四个属性,用来设置其内部控件布局

Left:位于DOCKPANEL左侧的子元素

Top:位于DOCKPANEL顶部的子元素

Right:位于DOCKPANEL右侧的子元素

BUTTON:位于DOCKPANLE底部的子元素.

效果图

 

代码

<Window x:Class="WpfPanel.dockpanelOne"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="dockpanelOne" Height="300" Width="300">

<Grid>

<DockPanel  Name="dockPanel1">

<Button Content="£¤?"  Name="button1" DockPanel.Dock="Top"/>

<Button Content="Á¨®¨¤" Name="button2" DockPanel.Dock="Left"/>

<Button Content="®¨°¨¤"  Name="button3"  DockPanel.Dock="Right" />

<Button Content="Ì¡Á?" Height="23" Name="button4" DockPanel.Dock="Bottom" />

<Button Content="º¡ê®¨¤??"  Name="button5"/>

</DockPanel>

</Grid>

</Window>

如果将DOCKPANELLastChildFill="False",则最后一个子元素不会占满剩余空间,默认情况下为true

效果图

 

代码

<Window x:Class="WpfPanel.dockpanelOne"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="dockpanelOne" Height="300" Width="300">

<Grid>

<DockPanel  Name="dockPanel1" LastChildFill="False">

<Button Content="£¤?"  Name="button1" DockPanel.Dock="Top"/>

<Button Content="Á¨®¨¤" Name="button2" DockPanel.Dock="Left"/>

<Button Content="®¨°¨¤"  Name="button3"  DockPanel.Dock="Right" />

<Button Content="Ì¡Á?" Height="23" Name="button4" DockPanel.Dock="Bottom" />

<Button Content="º¡ê®¨¤??"  Name="button5"/>

</DockPanel>

</Grid>

</Window>

当然,你可以设置其内部的元素的HorizontalAlignmentVerticalAlignment属性来具体设置其内部排列方式,读者可以自己试验

demo下载:http://download.csdn.net/source/2474542

在下 一节中我们将为大家讲解其他控件的用法

【转】wpf从我炫系列1----布局控件的使用(上)相关推荐

  1. 【转】WPF从我炫系列4---装饰控件的用法

    在这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollVie ...

  2. 【转】WPF从我炫系列3---内容控件的用法

    今天我来给大家讲解WPF中内容控件的用法,在WPF中的内容控件,通俗的讲,是指具有Content属性的控件,在content属性里面可以嵌套放置任意其他类型的控件,但是Content只能接受单个元素, ...

  3. 【转】wpf从我炫系列2----布局控件的使用(下)

    4.        GRID控件 Grid控件可以是说是wpf中功能最强大和使用最多的控件.它有点类似于HMTL网页布局中的表格,可以自定义行列显示,并可以合并某些行和列. 使用<Grid.Ro ...

  4. 【愚公系列】2023年07月 WPF+上位机+工业互联 002-WPF布局控件

    文章目录 前言 一.WPF布局控件 1.无边框设计 2.理解布局 2.1 WPF的布局处理 2.1 布局原则 2.3 布局过程 3.布局控件 3.1 Grid控件 3.1.1 属性 3.1.2 案例 ...

  5. 【转】WPF从我炫系统5---基本控件的用法

    今天我来给大家讲解WPF中一些基本控件的用法,所谓基本控件,就是我们最常用用到的一些控件,通过这一节的讲解,大家会对WPF中的控件的用法有一个更深入的了解. 1.       基本控件 LABEL控件 ...

  6. WPF基础系列二:控件简介

    控件简介 文章目录 控件简介 前言 一.控件 二.控件类型 三.控件详解 1.ContentControl 类 2.HeaderedContentControl 类 3.ItemsControl 类 ...

  7. WPF 自定义控件-布局控件

    自定义布局控件 1.添加自定义控件 添加新项->WPF->自定义控件(WPF) 在Themes文件夹下Generic.xaml会自动生成自定义控件的模板样式 2.实现自定义布局控件功能 1 ...

  8. WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系

    WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系: 1.Canvas/WrapPanel控件: 其子控件的HorizontalAlign ...

  9. Expression Blend实例中文教程(3) - 布局控件快速入门Grid

    上一篇对Blend 3开发界面进行了快速入门介绍,本篇将基于Blend 3介绍Silverlight控件.对于微软开发工具熟悉的朋友,相信您很快就熟悉Blend的开发界面和控件. XAML概述 Sil ...

最新文章

  1. 洛谷 P2261 [CQOI2007]余数求和
  2. WARNING: Ignoring invalid distribution -ip
  3. Golang——包引入和闭包
  4. 生成高清缩略图; 添加图片、文字水印; 图片、文字水印透明
  5. 苹果Mac上的 Spotlight 扩展小技巧
  6. Chrome浏览器插件之---FeHelper
  7. AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述
  8. [随笔]_ELVE_git命令复习
  9. IPFS - 可快速索引的版本化的点对点文件系统
  10. 关于医疗影像的mhd和dcm格式图像的读取和坐标转换
  11. http/https/浏览器
  12. ftp服务器怎样批量删除文件,ftp地址不能从快速访问中删除,其他的文件夹可以...
  13. 推荐几个高质量的程序员 B 站视频账号
  14. 白盒/黑盒/灰盒测试的区别
  15. 重拳出击之《JVM》面试官版 (初哥勿看)
  16. [转载]tensorflow二次开发
  17. html语言加入图片背景音乐,如何插入背景音乐和背景图片(附HTML语法教程地址)...
  18. 小心sae的jvm异常导致的Error 404 – Not Found.No context on this server matched or handled this request.
  19. 高质量PM,都用哪些优质的开源项目管理工具
  20. TASSEL5进行表型缺失值的估计

热门文章

  1. 【OS学习笔记】二十三 保护模式七:保护模式下任务的隔离与任务的特权级概念
  2. Android笔记-Activity相关+内存泄漏
  3. intern()方法的使用
  4. JavaScript学习系列3 -- JavaScript arguments对象学习
  5. LeetCode 32. Longest Valid Parentheses
  6. Maven(五)使用Nexus搭建Maven私服
  7. [LeetCode] Search for a Range [34]
  8. 基于xml技术的操作
  9. 在恰当的地方使用MongoDB的WriteConcern.SAFE参数
  10. HDU 6168 Numbers 思维