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>
相关推荐
YJlio2 小时前
ShareEnum 学习笔记(9.5):内网共享体检——开放共享、匿名访问与权限风险
大数据·笔记·学习
brave and determined2 小时前
接口通讯学习(day05):智能手机的内部高速公路:揭秘MIPI CSI与DSI技术
学习·智能手机·软件工程·制造·csi·mipi·dsi
Tonya436 小时前
测开学习DAY37
学习
roman_日积跬步-终至千里12 小时前
【强化学习基础(2)】被动强化学习:学习价值函数
学习
逢考必过@k13 小时前
6级550学习ing
学习
陈天伟教授14 小时前
基于学习的人工智能(7)机器学习基本框架
人工智能·学习
Z***G47915 小时前
网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
爬虫·学习·计算机外设
我命由我1234516 小时前
微信开发者工具 - 模拟器分离窗口与关闭分离窗口
前端·javascript·学习·微信小程序·前端框架·html·js
DKPT16 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring