wpf基本布局控件 -- 01
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="wdpf入门学习" Height="450" Width="800">
<Grid x:Name="___No_Name_asdasdas">
<!-- 布局选项 二行两列 -->
<Grid.RowDefinitions>
<!-- height属性高度 auto 自适应 根据子元素是否可以撑开 或者固定像素 eg:100
或 比列 2 * 标识是第二行高度的2倍
width 和 height 类似
-->
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions> <!-- 样式的设置
Grid.ColumnSpan="2" 占据 2 列的位置
<Border Background="red" Grid.ColumnSpan="2" Grid.RowSpan="2" />
给整个页面设置ref背景色
-->
<Border Background="red" Grid.ColumnSpan="2" Grid.RowSpan="2" />
<Border Grid.Column="1" Grid.Row="0" Background="yellow" />
<Border Grid.Column="0" Grid.Row="1" Background="pink" />
<Border Grid.Column="1" Grid.Row="1" Background="skyblue" /> <!-- StackPanel 布局控件 水平或者垂直放置元素
默认是垂放置元素的 vertical 是默认垂直排列
Orientation 设置方向 Horizontal 是水平排列
-->
<StackPanel Orientation="Horizontal">
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
<Button Width="100" Height="40" Background="yellow" />
</StackPanel>
<!-- WrapPanel 环绕控件 当水平或垂直空间不够会自动换行
Orientation 默认水平排列 Horization
Vertiavl 垂直排列
-->
<WrapPanel Grid.Row="1" Grid.Column="0" Orientation="Vertical">
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
<Button Width="100" Height="40" />
</WrapPanel>
<!--
停靠面板
最后一个元素默认可以填充{拉伸}剩余所有的空间
LastChildFill = false 设置不填充
DockPanel.Dock 设置元素的方向 -->
<DockPanel Grid.Row="1" Grid.Column="1" LastChildFill="true">
<Button DockPanel.Dock="Bottom" Width="100" Height="40" Background="hotpink" />
<Button DockPanel.Dock="top" Width="100" Height="40" Background="hotpink" />
<Button Width="100" Height="40" Background="hotpink" />
</DockPanel>
<!-- 平均布局 -->
<UniformGrid Grid.Row="0" Grid.Column="1">
<Button Width="100" Height="30" />
<Button Width="100" Height="30" />
<Button Width="100" Height="30" />
<Button Width="100" Height="30" />
<Button Width="100" Height="30" />
<Button Width="100" Height="30" />
</UniformGrid>
</Grid>
</Window>
实现布局:

代码:
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="wdpf入门学习" Height="450" Width="800">
<Grid>
<!-- 使用两行布局 -->
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition />
</Grid.RowDefinitions> <!-- 默认渲染第一行 -->
<Border Background="#686cc8" /> <!-- 第二行使用 2 列布局 -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions >
<ColumnDefinition Width="200" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Background="BLUE" />
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions> <Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions> <Border Margin="5" Background="#7378db" />
<Border Margin="5" Grid.Column="1" Background="#4398cd" />
<Border Margin="5" Grid.Column="2" Background="#e480d5" />
<Border Margin="5" Grid.Column="3" Background="#4db5b1" />
<Border Margin="5" Grid.Column="4" Background="#e17b7b" /> <Border Margin="5" Grid.Row="1" Grid.ColumnSpan="3" Background="red" />
<Border Margin="5" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Background="yellow" />
<Border Margin="5" Grid.Row="2" Grid.ColumnSpan="3" Background="blue" />
<Border Margin="5" Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="2" Background="green" />
</Grid>
</Grid>
</Grid>
</Window>
wpf基本布局控件 -- 01的更多相关文章
- 【WPF】布局控件总结
<Canvas>:画布,默认不会自动裁减超出内容,即溢出的内容会显示在Canvas外面,这是因为默认 ClipToBounds="False":可设置ClipToBou ...
- WPF 自适应布局控件
public class KDLayoutGroup : Grid { public double LabelWidth { get; set; } public double GetLabelWid ...
- WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系
WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系: 1.Canvas/WrapPanel控件: 其子控件的HorizontalAlign ...
- WPF自学入门(二)WPF-XAML布局控件
上一篇介绍了xaml基本知识,我们已经知道了WPF简单的语法.那么接下来,我们要认识一下WPF的布局容器.布局容器可以使控件按照分类显示,我们一起来看看WPF里面可以使用哪些布局容器用来布局. 在WP ...
- WPF布局控件常用属性介绍
WPF布局控件常用属性介绍 其它 | 作者:慧都控件网 | 2011-04-06 13:41:57| 阅读 0次 有用(0) 评论(0) 概述:WPF布局控件都是派生自System.Windows ...
- wpf布局控件总结
首先要认识到wpf所有的布局控件都继承自Panel类,Panel类又继承自其他类.继承关系如下: 一.StackPanel布局面板 1.该面板在单行或者单列中以堆栈的形式放置其子元素. 默认情况下,S ...
- WPF 界面布局、常用控件入门教程实例 WPF入门学习控件快速教程例子 WPF上位机、工控串口通信经典入门
WPF(Windows Presentation Foundation)是一种用于创建 Windows 桌面应用程序的框架,它提供了丰富的控件库和灵活的界面布局,可以创建现代化的用户界面.下面是 WP ...
- WPF中Ribbon控件的使用
这篇博客将分享如何在WPF程序中使用Ribbon控件.Ribbon可以很大的提高软件的便捷性. 上面截图使Outlook 2010的界面,在Home标签页中,将所属的Menu都平铺的布局,非常容易的可 ...
- 在WPF程序中将控件所呈现的内容保存成图像(转载)
在WPF程序中将控件所呈现的内容保存成图像 转自:http://www.cnblogs.com/TianFang/archive/2012/10/07/2714140.html 有的时候,我们需要将控 ...
- 布局控件Grid
XAML概述 Silverlight的控件绘制是由XAML语言进行支持的.什么是XAML语言? 简单的说,XAML(Extensible Application Markup Language )是一 ...
随机推荐
- openeuler linux内核4.19安装(centos 同理)
linux内核安装: 安装内核步骤 下载相应内核版本[我这里用的是linux-4.19.90.tar.gz] 下载网址:https://mirrors.edge.kernel.org/pub/linu ...
- 【微信小程序】02 常用标签组件
轮播标签: 轮播图 <swiper> <!-- 轮播项 --> <swiper-item>1</swiper-item> <swiper-item ...
- 【转载】 【Java分享客栈】我曾经的两个Java老师一个找不到工作了一个被迫转行了
本文作者: 福隆苑居士 本文链接: https://www.cnblogs.com/fulongyuanjushi/p/16182465.html 版权声明: 本博客所有文章除特别声明外,均采用 ...
- 【解决】ValueError: Memory growth cannot differ between GPU devices
在ubuntu系统下双显卡运行TensorFlow代码报错: ValueError: Memory growth cannot differ between GPU devices 报错的代码位置为: ...
- Mybatis-Plus系统化学习之环境准备与简单使用
1.背景 平时在开发中会经常用到单表的CRUD操作 其实,这些单表的CRUD,完全不需要我们写sql,可以使用mybatis-plus自动生成,不但高效而且不容用出错! 2.mybatis-plus的 ...
- 【干货】Apache DolphinScheduler2.0升级3.0版本方案
升级背景 因项目需要使用数据质量模块功能,可以为数仓提供良好的数据质量监控功能.故要对已有2.0版本升级到3.0版本以上,此次选择测试了3.0.1 和 3.1.1 两个版本,对进行同数据等任务调度暂停 ...
- [rCore学习笔记 024]多道程序与协作式调度
写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 本节重 ...
- CH01_初识C++
CH01_初识C++ 第一个C++程序 新建项目 新建文件 编写代码 #include <iostream> using namespace std; int main() { cout ...
- 关于如何解决IDEA中同一个src下多个类中之一运行时自动报错其他类中的问题导致想要运行的类无法正常运行的问题的解决思路
关于如何解决IDEA中同一个src下多个类中之一运行时自动报错其他类中的问题导致想要运行的类无法正常运行的问题的解决思路 WrongFirst: 我准备了一个正常类BG和一个有错误的类HelloWor ...
- dfs剪枝与优化
搜索树 剪枝方法 1.优化搜索顺序 2.排除等效冗余 3.可行性 4.最优性(估价) 5.记忆化(树形不会重复计算时不需要) A.针对每个维度边界信息缩放.推倒 B.计算未来最少花费 C.结合各维度的 ...