一、开发流程
注:以开发工具Visual Studio 2015为例
1.(1)、WPF开发选择WPF应用程序。
(2)、项目名称一般和解决方案名称保持一致也可更改,一个解决方案对应一个需求,解决方案里对应多个项目,如一个项目中分多个模块,每一个模块都对应一个项目。
2.(1)、编写项目中某一个模块需要在项目解决方案中添加新建一个项目,选择WPF应用程序,这时候会出现两个项目。
(2)、Hello WPF项目中各个内容作用,Properties是静态资源、引用把所需要的库自动引用进来,常用的有PresentationFramework(提示框)、System、System.Core、System.Data。
(3)、双击某一个引用,打开对象浏览器,系统自动定位库展开里面包含许多命名空间,命名空间展开里面有类,类展开有方法。
3.(1)、APP.xaml:是反馈文件,APP.xaml展开有APP.xaml.cs前者是对应整个页面编程文件,属于声明性语言(属于前台),后者xaml.cs(属于后台),一个xaml文件对应一个C#后台类文件,也就是xaml可以相互跳转到xaml.cs。
(2)、xaml前台链接为命名空间的引用,通过”xmlns:+前缀”映射的方式引用(而且是多个或者一组命名空间,后台则是一个一个的映射),如果引用的时候使用了前缀则需要在被引用的控件前加前缀,如果是经常使用的命名空间可以不需要加前缀。xaml.cs后台命名空间的引用通过using引用。
(3)、XAML命名空间的语法:
xmlns:[可选映射前缀]=“命名空间描述”
注意:没有加可选映射前缀的xmlns是WPF默认的命名空间,一个xaml文件只能有一个
默认的命名空间
一个完整的xaml文件,必须具备两个命名空间。
(3)、x:Class=“Hello_WPF.App”属性的作用,在App xaml.cs后台中命名空间是“Hello WPF”,类是App,所以前台中该属性的作用是指定后台某一个的类文件或者是命名空间中的类。
(4)前台中 StartupUri=“MainWindow.xaml”> 为启动窗口,可实时显示设计的内容布局和变化。
(5)、C#的方法,一个对象具有什么功能行为,行为就是c#中的方法,方法是有指定功能的代码块。说起方法就得说一下方法的签名:修饰符、返回值类型、方法参数。在定义方法时的参数叫“形式参数(形参)”,在调用方法时的参数叫“实际参数(实参)”。
(6)、无论是类还是方法,如图中“public(公共的)”就是一个访问修饰符,默认情况下指定一个类,partial(分布)关键字就是表示此类或此方法为分布类或分布方法的,分布类或分布方法的好处已经体现了:可以让一个类分布在多个文件,这样就可以让多个程序员编写了,也可以让一个类的几个功能块分布在多个文件中。
a.partial关键字只能修饰类、结构或方法。分布方法只能存在于分布类或分布结构中。
b.partial是Visual Studio的关键字,不是C#语法的关键字。在最终编译的时候,分布类会统一编译成一个类,如果分布方法未提供该实现,则会在编译时移除方法以及对方法的所有调用。
c.各个部分必须具有相同的可访问性,如 public、private 等。
d.分部方法声明必须以上下文关键字 partial 开头,并且方法必须返回 void。
e.分部方法可以有 ref 参数,但不能有 out 参数。
(7)、文件“MainWindow.xaml(前台启动窗口)”中含有“MainWindow.xaml.cs(后台启动窗口)”而前台中的属性方法可以跳转到后台的命名空间和类,如果更改前台的属性类而后台不更改,编译时无明显变化,通过反编译可以看出有变化,说明编译的时候前台和后台是合并在一起进行编译的,体现分布类和分布方法的好处。
4.(1)、类视图、对象浏览器中的一些图标。
(2)、如接口类图标、和特殊封装好的的代码块。
(3)、自定义封装代码块,在菜单栏上找到“工具”,点击“代码段管理器”里面包含了常用的封装代码块如:判断、错误语句等等,而且显示代码块的存放路径。
5.(1)、根据需求进行页面创建,如创建一个登录页面,登录页面为窗口,所以在添加项目的时候选择窗口框架开发“窗口WPF”,创建之后会在App.xaml下面新增刚刚创建的项目,项目包括“LoginWindow.xaml(登录前台)”和“LoginWindow.xaml.cs(登录后台)”。
二、属性和控件
1.(1)、在登录页面窗口项目中点击“LoginWindow.xaml(登录前台)”页面或者其中的某一个属性,右边菜单会显示一个属性窗口,点击“LoginWindow.xaml.cs(登录后台)”页面是没有的。
(2)、属性窗口包括两部分,在“名称”后面的两个图标中,第一个图标是所指定的标签元素(属性)对应的属性,第二个图标是事件。
(3)、其中指定的标签属性中包含:画笔、外观、公共、布局、转换、杂项属性。
(4)、其中常用的有画笔属性,如想要改变登录页面的背景颜色则选择画笔属性中的“Background”属性,而画笔属性又分为:无画笔、纯色画笔、渐变画笔、平铺画笔等等。
(5)、当选择了某一种画笔颜色的时候,系统会自动把属性代码添加到“前台页面”中去。
2.(1)、纯色画笔包含了:线性渐变、径向渐变,其中“线性渐变”为从上到下或者是从左到右渐变,而“径向渐变”表现为以中心圆点为中心随半径增大而渐变。
3.(1)、给控件设置一个事件如“点击事件”,在属性窗口找到“MouseLeftButtonDown”双击,系统自动在指定的控件上生成对应的属性和事件,并且在后台页面中创建一个事件。
(2)、在页面的左边“工具箱”窗口,系统提供了常用的一些封装控件如:边框、按钮、文本框等等,如:登录页面选择“文本控件”和“文本框控件”点击控件拖拽到视图上就行,如果想要改变文本框边框的颜色则点击控件名打开“属性窗口”进行调整。
三、XAML语言
1.XAML语言:是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标
记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。
特点:
(1)、定义应用程序的界面元素
(2)、显示的声明WPF资源(样式、模板、动画等,声明页面的某一个样式,如:Resources资源等等。
(3)、可扩展性(自定义UI控件)
(4)、集中关注于界面的设计和实现
2.(1)、自定义类或程序集映射语法: xmlns:[必选映射前缀]="clr-namespace:[命名空间];assembly=[程序集名称]。
(3)、内部程序里的不同项目之间的引用,如图:项目1引用项目2,在项目1的引用中鼠标右键“添加引用”,找到“项目”–>“解决方案”找到要引用的项目名称进行引用,然后在项目1中的“MainWindow.xaml(前台)”中通过语法:语法: xmlns:[必选映射前缀]="clr-namespace:[命名空间];assembly=[程序集名称],进行引用,窗体是不能嵌套窗体的所以不用加。
(4)、在项目1的“MainWindow.xaml(前台)”中进行命名空间映射来获取项目2“UserControl1.xaml(前台)”的页面内容,通过前缀加页面名字获取。

(5)、项目2中“UserControl1.xaml(前台)”最高级是“UserControl”使用的是“用户控件”而不是“窗口”。
C#WPF项目创建
版权声明:本文为Pzz_Lite原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。