C# WPF开发

WPF基础

WPF开发主要学习使用控件来布局,利用各种样式包装丰富控件,然后通过使用模板来达到预期的布局显示效果,还可以使用常见的MVVM框架来实现前后端互联。

布局: 主要掌握常用的布局方式,Grid,StackPanel、WrapPanel.根据内容分割行列、跨行跨列、垂直分布、水平分布,掌握了能看见图就立马把结构布局熟练写出来

控件: 熟悉基础的控件使用,文本框、输入框、按钮、进度条、日期、下拉、选择框 取值,显示,基本属性。

样式: 熟练的使用样式来封装控件的显示效果。组织及复用控件的样式效果

模板: 通过自己创建模板,夏盖原有的控件模板,定制根据自身需求的控件

绑定: 与界面的元素进行绑定、或者后台的代码进行关联,掌握其绑定的方法模式及绑定的原理。

MVVM: 通过前后端分离的方式、使用第MVVM框架,来整合UI与业务代码,功能 与数据的交互。

举个简单得例子, 利用WPF开发类似于造房子, 当然实际上可能非常细, 对应的如下所示:

|------|---------------|-----------|-------|---------|-----------------|
| 布局 | 控件 | 样式 | 模板 | 绑定 | 业务 |
| 房屋结构 | 施工(砖头水泥、钢筋等等) | 装潢, 涂漆、打磨 | DLY改造 | 家具家电布置等 | 水电、家具等都结合起来正常运转 |

  • WPF项目是怎么启动的,怎么创建项目的,这个就要使用VS来搭建项目了;

  • Xaml的结构是怎么样组成, 命名控件定义引用的方法。

    知道了如何在Xaml中写代码, 尽管在此之前, 很多经验老道的Winform开发者也发现了, 打开工具箱, WPF的控件仍然像winform一样支持拖拽过来, 到某个位置, 然后在Xaml代码中,就会生成对应的代码, 按下F4同样会展现出很多属性, 通过设置后, 所见即所得, 双击类似的普通按钮, 同样可以在后台生成事件代码

控件结构

主要分为ContentControl 类、HeaderedContentControl 类、ItemsControl 类等。

1.ContentControl 类

设置内容的属性为 Content, 控件目录下只允许设置一次Content,如

复制代码
<Button Content="Hello'/>
<Label Content="Hello"/>
<CheckBox Content="Hello"/>

2.HeaderedContentControl 类

相对于ContentControl来说、这类控件即可设置Content, 还有带标题的Header。像比较常见的分组控件GroupBox、TabControl子元素TabItem、它们都是具备标题和内容的控件。

复制代码
<GroupBox Header="测试">
    <TextBlock/>
</GroupBox>

<TabControl>
    <TabItem Header="测试页1"/>
    <TabItem Header="测试页2"/>
    <TabItem Header="测试页3"/>
</TabControl>

同样,该类控件目录下只允许设置一次Conent和Header, 如下错误所示, 出现2次设置Header与Content报错

正确的使用方式:

复制代码
<GroupBox Header="测试">
    <TextBlock/>
</GroupBox>

3.ItemsControl 类

此类控件大多数属于显示列表类的数据、设置数据源的方式一般通过 ItemSource 设置。如下所示:

复制代码
<TabControl Itemssource=""/>
<Menu ItemsSourc=""/>
<ListBox ItemsSourc=""/>
<ItemsControl Itemssource=""/>
相关推荐
枯萎穿心攻击2 小时前
ECS由浅入深第三节:进阶?System 的行为与复杂交互模式
开发语言·unity·c#·游戏引擎
小码编匠3 小时前
WPF 自定义TextBox带水印控件,可设置圆角
后端·c#·.net
水果里面有苹果3 小时前
17-C#的socket通信TCP-1
开发语言·tcp/ip·c#
阿蒙Amon11 小时前
C# Linq to SQL:数据库编程的解决方案
数据库·c#·linq
iCxhust13 小时前
c# U盘映像生成工具
开发语言·单片机·c#
emplace_back15 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
阿蒙Amon16 小时前
为什么 12 版仍封神?《C# 高级编程》:从.NET 5 到实战架构,进阶者绕不开的必修课
开发语言·c#
深海潜水员17 小时前
【Behavior Tree】-- 行为树AI逻辑实现- Unity 游戏引擎实现
游戏·unity·c#
开开心心_Every17 小时前
便捷的Office批量转PDF工具
开发语言·人工智能·r语言·pdf·c#·音视频·symfony