当前位置: 首页 > news >正文

WPF入门 #1 WPF布局基础、WPF样式基础、WPF控件模板、WPF数据模板

WPF当中有许多的布局容器控件,例如<Grid>、<StackPanel>、<WrapPanel>、<DockPanel>、<UniformGrid>。接下来分别介绍一下各个布局容器控件。

Grid

<Grid><Grid.RowDefinitions><RowDefinition Height="2*"/><RowDefinition/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="2*"/><ColumnDefinition/></Grid.ColumnDefinitions><Border Grid.Row="0" Grid.Column="0" Background="Red"/><Border Grid.Row="0" Grid.Column="1" Background="Yellow"/><Border Grid.Row="1" Grid.Column="0" Background="Blue"/><Border Grid.Row="1" Grid.Column="1" Background="Green"/>
</Grid>

Grid中的元素还可以跨行和跨列:

StackPanel

StackPanel默认水平排列,具有 Orientation=""属性可以改变排列方向。

WrapPanel

WrapPanel默认水平排列,也具有 Orientation=""属性可以改变排列方向。

DockPanel

DockPanel具有停靠的功能,位于DockPanel中的元素,可以设置它的方向。

UniformGrid

这个容器最大的作用就是在有限的空间里面均分剩余空间。

下面对一个页面进行布局模拟练习:

<Grid><Grid.RowDefinitions><RowDefinition Height="80"/><RowDefinition/></Grid.RowDefinitions><Border Background="#FFECF1"/><Grid Grid.Row="1"><Grid.ColumnDefinitions><ColumnDefinition Width="200"/><ColumnDefinition/></Grid.ColumnDefinitions><Border Background="#FF7F24"/><Grid Grid.Column="1" Margin="5"><Grid.RowDefinitions><RowDefinition Height="100"/><RowDefinition/><RowDefinition/></Grid.RowDefinitions><Grid Grid.Row="0"><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><Border Margin="5" Grid.Column="0" Background="#1b1c1d"/><Border Margin="5" Grid.Column="1" Background="#2AC864"/><Border Margin="5" Grid.Column="2" Background="#1b1c1d"/><Border Margin="5" Grid.Column="3" Background="#F85A54"/><Border Margin="5" Grid.Column="4" Background="#1b1c1d"/></Grid><Grid Grid.Row="1"><Grid.ColumnDefinitions><ColumnDefinition Width="1.5*"/><ColumnDefinition/></Grid.ColumnDefinitions><Border Margin="5" Grid.Column="0" Background="#1b1c1d"/><Border Margin="5" Grid.Column="1" Background="#2AC864"/></Grid><Grid Grid.Row="2"><Grid.ColumnDefinitions><ColumnDefinition Width="1.5*"/><ColumnDefinition/></Grid.ColumnDefinitions><Border Margin="5" Grid.Column="0" Background="#1b1c1d"/><Border Margin="5" Grid.Column="1" Background="#F85A54"/></Grid></Grid></Grid>
</Grid>

样式基础

样式负责修饰元素的外观以及行为,可以在样式中定义不同类型元素的属性值集合。

<Window.Resources><Style x:Key="BaseStyle" TargetType="Button"><Setter Property="FontSize" Value="18"/><Setter Property="Foreground" Value="White"/><Setter Property="Background" Value="Red"/></Style><Style x:Key="BottonStyle" TargetType="Button" BasedOn="{StaticResource BaseStyle}"><Setter Property="Content" Value="Botton1"/></Style>
</Window.Resources>
<Grid><StackPanel><Button Background="Blue" Style="{StaticResource BottonStyle}"/><Button Style="{StaticResource BottonStyle}"/><Button Style="{StaticResource BottonStyle}"/></StackPanel>
</Grid>

控件模板

数据模板

相关文章:

  • Python笔记1
  • 影刀rpa-3步获取社区信息
  • Dify动手实战教程(入门-猜病、哄哄模拟器)
  • singlefligt使用方法和源码解读
  • MySQL 索引和select优化
  • vuex中的辅助函数怎样使用
  • P7 QT项目----会学天气预报
  • 初识树及二叉树
  • 18.字符串函数
  • 【Redis】持久化机制:RDB / AOF 的应用与场景
  • 48-Oracle CDB下的SID-实例名-服务名
  • LVS+Keepliaved高可用群集
  • 【web应用】Vue 3 中实现 Chart.js 柱状图:详细指南
  • 【Leetcode】每日一题 —— No.2966
  • new()和new[]有什么区别?
  • 12.8Java Swing 中的MVC
  • MySQL 类型转换与加密函数深度解析
  • 【AI Study】第四天,Pandas(1)- 基础知识
  • 《仿盒马》app开发技术分享-- 订单结合优惠券结算(60)
  • 【Python打卡Day22】kaggle泰坦尼克@浙大疏锦行
  • 做私人彩票网站/石家庄seo关键词
  • 社会信用体系建设双公示网站/广州网站建设工作室
  • wordpress建站安全性/广州网页定制多少钱
  • 北京网站建设app开发/网站推广文章
  • 做海报的简易网站/灰色词排名推广
  • 网站设计师加油站/优秀品牌策划方案