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=""/>
相关推荐
是木子啦13 分钟前
wpf passwordbox控件 光标移到最后
c#·wpf
The Sheep 202313 分钟前
wpf 命令理解
wpf
布伦鸽19 分钟前
C# WPF DataGrid使用Observable<Observable<object>类型作为数据源
开发语言·c#·wpf
.NET修仙日记2 小时前
2025年ASP.NETMVC面试题库全解析
面试·职场和发展·c#·asp.net·mvc·面试题·asp.net mvc
weixin_456904272 小时前
C# 串口通信完整教程 (.NET Framework 4.0)
网络·c#·.net
我笔记3 小时前
.net过滤器和缓存
c#
夏子曦12 小时前
C#内存管理深度解析:从栈堆原理到高性能编程实践
开发语言·c#
分布式存储与RustFS12 小时前
告别复杂配置:用Milvus、RustFS和Vibe Coding,60分钟DIY专属Chatbot
wpf·文件系统·milvus·对象存储·minio·rustfs·vibe
William_cl16 小时前
C# MVC网页调试的方法
开发语言·c#·mvc
小小的技术员16 小时前
C# 无实体生成JSON字符串
c#·json