WPF学习(2)

下面是WPF常用的一些布局。

Grid,UniformGrid

Grid:网格, UniformGrid:自动创建行列。每个单元格大小相同。一般用于动态绑定数据

代码及运行效果如下:

复制代码
<!--容器控件  网格-->
    <Grid ShowGridLines="True">
		<!--设置行-->
		<Grid.RowDefinitions>
			<!--第一行-->
			<RowDefinition Height="40"></RowDefinition>
			<!--第二行-->
			<RowDefinition Height="50"></RowDefinition>
			<!--第三行-->
			<RowDefinition ></RowDefinition>
		</Grid.RowDefinitions>
		
		<!--设置列-->
		<Grid.ColumnDefinitions>
			<ColumnDefinition></ColumnDefinition>
			<ColumnDefinition></ColumnDefinition>
		</Grid.ColumnDefinitions>

		<TextBlock Text="第一行第一列" Grid.Row="0"> </TextBlock>
		<TextBlock Text="第一行第二列" Grid.Row="0" Grid.Column="1"></TextBlock>
		<TextBlock Text="第二行" Grid.Row="1"></TextBlock>
		<TextBlock Text="第三行" Grid.Row="2"></TextBlock>
	</Grid>

只允许3列,分布得十分均匀

复制代码
<UniformGrid Columns="3" Height="150" Width="200">
			<Button Content="注册" Height="40" Width="50"></Button>
			<Button Content="登录" Height="40" Width="50"></Button>
			<Button Content="退出" Height="40" Width="50"></Button>
			<Button Content="退出1" Height="40" Width="50"></Button>
			<Button Content="退出2" Height="40" Width="50"></Button>
			<Button Content="退出3" Height="40" Width="50"></Button>
			
		</UniformGrid>

堆面板:StackPanel

紧凑堆一起(可设置横着堆或竖着堆),一个紧挨一个,放不下就截断

复制代码
<StackPanel Orientation="Horizontal" Width="150">
			<Button Content="注册" Height="40" Width="50"></Button>
			<Button Content="登录" Height="40" Width="50"></Button>
			<Button Content="退出" Height="40" Width="50"></Button>
			<Button Content="退出1" Height="40" Width="50"></Button>
			<Button Content="退出2" Height="40" Width="50"></Button>
			<Button Content="退出3" Height="40" Width="50"></Button>
		</StackPanel>

这里的代码我们定义了6个按钮,但是使用结果只出现了三个,是堆面板的大小不够,直接截断。

边框:Border

Border(边框)是一个装饰的控件,此控件绘制一个边框、一个背景。Border 中只能有一个子控件(Child),若要显示多个子元素,需要在父Border元素中放置一个附加Panel元素,然后可以将子元素放置在该 Panel 元素中。

复制代码
<!--BorderThickness="5,0,0,0"(左上右下)   5,0(左右、上下)-->
		<!--Boder中智能放置一个儿子  但是儿子可以有多个孙子-->
		<Border Height="150" Width="150" Background="Green" BorderBrush="Black" BorderThickness="5,0,0,0"
				Margin="5,0,0,0">
			<Grid>
				<Grid.RowDefinitions>
					<RowDefinition></RowDefinition>
					<RowDefinition></RowDefinition>
				</Grid.RowDefinitions>

				<Button Content="注册" Height="40" Width="50"></Button>
				<Button Content="登录" Height="40" Width="50" Grid.Row="1"></Button>
			</Grid>
		</Border>
相关推荐
lingggggaaaa2 分钟前
小迪安全v2023学习笔记(一百四十五讲)—— Webshell篇&魔改冰蝎&打乱特征指纹&新增加密协议&过后门查杀&过流量识别
笔记·学习·安全·魔改冰蝎·免杀对抗·免杀技术
落羽的落羽36 分钟前
【C++】现代C++的新特性constexpr,及其在C++14、C++17、C++20中的进化
linux·c++·人工智能·学习·机器学习·c++20·c++40周年
小苏兮1 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节
im_AMBER1 小时前
React 11 登录页项目框架搭建
前端·学习·react.js·前端框架
py有趣8 小时前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
BreezeJuvenile9 小时前
外设模块学习(15)——MQ-2烟雾气体传感器(STM32)
stm32·单片机·学习·mq-2·烟雾气体传感器
XH1.11 小时前
学习RT-thread(RT-thread定时器)
stm32·单片机·学习
2301_7965125212 小时前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust
故里213012 小时前
学习前端记录(二)21-40
学习
ThreeYear_s12 小时前
电力电子技术学习路径与FPGA/DSP技术结合方向(gemini生成)
学习·fpga开发