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=""/>
相关推荐
Ainnle2 小时前
微软 CEO 萨提亚・纳德拉:回顾过去十年,展望 AI 时代的战略布局
人工智能·microsoft
码农君莫笑10 小时前
使用blazor开发信息管理系统的应用场景
数据库·信息可视化·c#·.net·visual studio
微凉的衣柜12 小时前
微软在AI时代的战略布局和挑战
人工智能·深度学习·microsoft
界面开发小八哥14 小时前
DevExpress WPF中文教程:Grid - 如何移动和调整列大小?(二)
ui·.net·wpf·界面控件·devexpress·ui开发
界面开发小八哥14 小时前
「实战应用」如何用图表控件SciChart WPF实现应用程序的DPI感知?
信息可视化·wpf·数据可视化·图表·scichart wpf·scichart
666和77716 小时前
C#的单元测试
开发语言·单元测试·c#
小码编匠17 小时前
WPF 星空效果:创建逼真的宇宙背景
后端·c#·.net
向宇it20 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
yngsqq21 小时前
一键打断线(根据相交点打断)——CAD c# 二次开发
windows·microsoft·c#