WPF快速入门总览概述

WPF基础教程

` 提示:WPF基础教程
例如:本章是WPF基础教程快速入门概览


1.什么是WPF

WPF(Windows Presentation Foundation)是⼀个基于.net平台的c/s客户端,利⽤⽮量的呈现引擎的
UI框架 。
优势:
WPF最⼤优势是可以快速构建项⽬从⽽达到缩短项⽬周期的⽬的,深受很多中⼩型企业欢迎,尤其
在医疗、⼯业、⾦融、硬件、物流、管理系统(ERP)等⾏业领域。
前景:
近⼏年随着⼯业化的进展,国内⼀些企业的⼯业系统或上位机系统,也逐渐从使⽤MFC、QT等
C++平台,转向了.NET平台,WPF的占⽐也越来越⾼。

2.功能

WPF提供Extensible Application Markup Language (XAML)、控件、数据绑定、布局、⼆维和三维图
形、动画、样式、模板、⽂档、媒体、⽂本和版式等丰富的功能。

2.1 XAML

XAML(Extensible Application Markup Language)可扩展应⽤程序标记语⾔,⽤于扩展和定位的语
法来定义和程序逻辑分离的⽤户界⾯,简化编程式上的⽤户创建过程。
下⾯是⼀个包含按钮的窗⼝的例⼦:
XAML使⽤Window元素定义窗⼝,使⽤Window 元素的 Title 特性指定窗⼝的标题栏⽂本。

2.2 WPF 控件

按钮: Button 和 RepeatButton。
数据显示:DataGrid、ListView 和 TreeView。
⽇期显示和选项: Calendar 和 DatePicker。
对话框: OpenFileDialog、 PrintDialog和 SaveFileDialog。

<Window
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 Title="Window with Button"
 Width="250" Height="100">
 <Button Name="button">按钮</Button>
</Window>

数字墨迹: InkCanvas 和 InkPresenter。
⽂档: DocumentViewer、 FlowDocumentPageViewer、 FlowDocumentReader、
FlowDocumentScrollViewer和 StickyNoteControl。
输⼊: TextBox、 RichTextBox和 PasswordBox。

局: Border、 BulletDecorator、 Canvas、 DockPanel、 Expander、 Grid、 GridVie
w、
GridSplitter、 GroupBox、 Panel、 ResizeGrip、 Separator、 ScrollBar、 ScrollViewer、
StackPanel、 Thumb、 Viewbox、 VirtualizingStackPanel、 Window和 WrapPanel。
媒体: Image、 MediaElement和 SoundPlayerAction。
菜单: ContextMenu、 Menu和 ToolBar。
导航: Frame、 Hyperlink、 Page、 NavigationWindow和 TabControl。
选项: CheckBox、 ComboBox、 ListBox、 RadioButton和 Slider。
⽤户信息: AccessText、 Label、 Popup、 ProgressBar、 StatusBar、 TextBlock
和 ToolTip。

2.3 布局

Canvas:⼦控件提供其⾃⼰的布局。
DockPanel:⼦控件与⾯板的边缘对⻬。
Grid:⼦控件由⾏和列定位。
StackPanel:⼦控件垂直或⽔平堆叠。
VirtualizingStackPanel:⼦控件在⽔平或垂直的⾏上虚拟化并排列。
WrapPanel:当当前⾏上没有⾜够的空间时,⼦控件按从左到右的顺序放置并包装到下⼀⾏。

2.4 数据绑定

数据和应⽤程序UI上的控件绑定起来,数据的变化会⾃动更新界⾯所看到的内容。
2023/10/8 10:17 WPF概述_夜飞鼠的博客-CSDN博客
https://blog.csdn.net/nmmking/article/details/129384195 3/4
根据数据流的⽅向,把数据绑定分为以下⼏种:
OneWay:仅当源属性发⽣更改时更新⽬标属性。
OneWayToSource:在⽬标属性更改时更新源属性。
OneTime:仅当应⽤程序启动时或 DataContext 进⾏更改时更新⽬标属性。
TwoWay:⽆论是⽬标属性还是源属性,只要发⽣了更改,TwoWay 就会更新⽬标属性或源属性。
Default:模式根据实际情况来定,如果是可编辑的就是TwoWay,只读的就是OneWay.

2.5 ⼆维与三维图

WPF 提供⼀个常⽤ ⽮量 绘制的⼆维形状库,包括视觉效果,如渐变、位图、绘图、⽤视频绘画、
旋转、缩放和倾斜,可以创建可直接绘制、⽤作画笔或⽤于剪辑其他形状和控件的⾃定义形状。
WPF提供了根据应⽤需求绘制,转换和⽣成3D图形的功能。它不⽀持全⾯的3D游戏开发,但是可以
创建3D图形。

2.6 动画

WPF提供了丰富的动画⽀持,⼤部分的动画都可以直接通过XAML来呈现,创建动画有故事版、
CompositionTarget和DispachTime三种类型。
故事版:该动画适合创建简单的对象位移及直接性质的属性更改。
CompositionTarget:这种动画适合全局属性的时时更改,例如NPC以及地图等全体性的相对位移
及属性更改时就要⽤到它了。
DispachTime:这种动画适合运⽤在Spirit(⻆⾊)的个⼈动画中,例如⻆⾊的移动,战⽃等动作。

2.7 样式

WPF引⼊了样式,对于XAML来说引⼊的样式就像CSS对HTML的作⽤;样式是修改View(窗体、控
件)样式的主要⽅式,其作⽤更改控件的外观。
在StackPanel的资源⾥定义⼀个Style。TargetType属性指定样式范围内是StackPanel内的所有
TextBlock控件,两个Setter元素⽤于设置⽬标控件的特定属性,在本例中为Foreground和FontSize属性。

2.8 模板

模板应⽤在View层,它的作⽤是修改控件的样式、交互、数据展示。
模板主要分为DataTemplate 和 ControlTemplate 两种:
ControlTemplate它决定了控件样⼦,并开发者可以在原有的控件上扩展内部逻辑。
DataTemplate是数据内容的展示⽅式,例如:⽂本还是直观的图形就由它来决定了。

<Window x:Class="WpfTutorialSamples.Styles.SimpleStyleSample"
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 Title="SimpleStyleSample" Height="200" Width="250">
 <StackPanel Margin="10"> <StackPanel.Resources>
 <Style TargetType="TextBlock">
 <Setter Property="Foreground" Value="Gray" />
 <Setter Property="FontSize" Value="24" />
 </Style>
 </StackPanel.Resources>
 <TextBlock>Header 1</TextBlock>
 <TextBlock>Header 2</TextBlock>
 <TextBlock Foreground="Blue">Header 3</TextBlock>
 </StackPanel>
</Window>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值