WPF(Windows Presentation Foundation)是(微软推出的)基于Windows的用户界面框架,属于.NET Framework 3.0的一部分。WPF提供了统一的编程模型,语言和框架,做到了分离界面设计人员与开发人员的工作;WPF提供了全新的多媒体交互用户图形界面。
WPF中文译名为“Windows呈现基础”,原来的代号为“Avalon”。从.NET Framework 3.0开始引入。(所以.NET Framework 3.0以下版本没有WPF,.NET Framework 3.0及其之后的版本才支持WPF)
WPF最大的特点是页面的动态化,WPF有矢量图的超强支持;兼容2D绘图,3D控件及事件。
WPF使用对象描述语言XAML。(XAML语言和HTML语言都是由XML语言延申而来的。)
WPF(Windows Presentation Foundation)由两个部分组成:引擎和编程框架。
WPF应用程序创建的项目,会自动生成这样一个目录文件
默认情况下,WPF的应用程序包含四部分内容。
Properties里面是项目的一些配置资源,Resources是系统里面的资源。
引用,可以通过引用的方式使用外部的插件。
App.config里面是一些配置文件,类似于MVC里面的Web.config。
现在使用的是.NET 4.5开发WPF。
App.xaml文件是整个程序的入口文件,可以指定WPF项目的入口页面是哪一个页面,在“Application”里面通过“StartupUri”这个属性来指定WPF要启动的应用窗体,启动页面默认为“MainWindow.xaml”页面。如下图可以看到整个页面的*元素是“Application”。
如下图,WPF在默认情况下带有三个命名空间,在WPF里面前面两个默认命名空间无论在哪里都能用到。第一个通过链接的方式将命名空间加进来,是矢量的命名空间;第二个命名空间带有x的前缀,是xaml的命名空间;第三个命名空间带有local的前缀,local代表着应用程序,加载的是本地的命名空间,不需要通过链接的方式引入,而是利用属性“clr-namespace”引入,但是本地的命名空间一般是用不到的,所以可以去掉。一个完整的XAML页面必须带有两个命名空间(第一和第二个)。
“Application”里面还有一个“Application.Resources”,Resources的意思是资源,那么“Application.Resources”的意思就是应用程序的资源,WPF的样式、模板、动画等资源就是通过Application.Resources引入。
App.xaml文件,下面跟着一个类文件App.xaml.cs文件。这是xaml页面的一个特点,xaml页面后面一定跟着一个xaml.cs类文件,一个页面对应一个xaml.cs类文件。
xaml页面与Html页面不同的是,xaml页面就只是页面设计,不涉及任何的业务逻辑处理。xaml页面也不能通过JS、Jquery来写逻辑代码,而是把逻辑代码写在对应的的xaml.cs类文件里面。
所以App.xaml文件下面的App.xaml.cs类文件里面是App.xaml文件的后台代码,如上图可以看到,App.xaml.cs类文件继承于Application应用程序,处理整个WPF项目的相关应用程序。
MainWindow.xaml是项目默认自带的窗口,WPF的设计界面。MainWindow.xaml页面下面同样跟着一个MainWindow.xaml.cs类文件。MainWindow.xaml.cs是后台类文件,如下图可以看到页面的*元素是“Window”,所以MainWindow.xaml.cs类文件继承于Windows。
里面的“Grid”布局相当于Html的“body”标签。