您好,欢迎访问一九零五行业门户网

wpf入门教程

一、  前言
公司项目基于wpf开发,最近项目上线有点空闲时间写一篇基于wpf的基础教材,wpf也是近期才接触,学习wpf也是在网上查资料与微软的msdn进行学习,写本博客的目为了温故而知新把学习过程记录下来,以备后查。
学习wpf的基础知识:         ( 推荐学习:web前端视频教程)
1)   wpf是微软提供的一种用来开发“桌面应用”的技术(框架),这项技术本身和c#没有关系,必须会的是xaml语法。
2)   对xml、html、xhtml、asp.net之类的“标准通用标记语言”,对于学习是有所帮助的。
3)   有winform或asp.net经验,主要是对控件事件的处理要有所了解。
4)   具备面向对象的思想:在wpf中,经常要灵活运用各种继承关系、多态、重载等。
5)   databinding要有所了解:binding是wpf的一大亮点。
二、  本系列使用到的工具:
1)        开发环境:windows 7
2)        开发工具:visual studio 2017
3)        数据库:access数据库,sqlite
三、  wpf开发基础
1.打开visual studio 2017 ,选择“菜单—》文件—》新建—》项目”。如下图。
2.在“新建项目”对话框中选择“wpf应用程序”,修改名称为自己项目的名称,然后点击“确定”按钮,便成功创建了一个“wpf应用程序”。新创建的项目所引用的公共类库如下。如下图。(“wpf应用程序”会在“引用”里面自动添加下图中所示的 presentationcore、presentationframework、windowsbase三大核心程序集)。
3. 项目的生成的文件结构。如下图。
4.在app.xaml中的“startupuri”属性可以指定项目运行时的启动窗体。如下图中“startupuri=”mainwindow.xaml”,还可以定义我们需要的系统资源以及引入程序集等。如下图。
5. mainwindow.xaml的设计窗体中我们可以修改title。还可以设置mainwindow的属性和添加事件。完成了这些设置以后,我们就可以对窗体添加内容了,如下图。
6. 我在这个窗体中添加了一个 viewbox,  viewbox组件的作用是拉伸或延展位于其中的组件,使之有更好的布局及视觉效果。
7.介绍下wpf最常用的几种布局方式
1)stackpanel:堆栈面板,通过orientation属性设置子元素的布局排列方向为“vertical”(垂直)和“horizontal”(水平),不写其默认值为“vertical”,当设置为“vertical”时子元素会沿水平方向拉伸,反之设置为“horizontal”时子元素会沿垂直方向拉伸。
2)dockpanel:支持子元素停靠在面板的任意一条边上,通过附加属性dock控制他们的停靠位置(left、top、right、bottom),填充空间按照“先到先得”的原则,最后一个加入面板的子元素将填满剩下的空间,如不想将最后加入面板的元素填满剩下的空间将属性lastchildfill值设为“false”,默认为“true”。
3)wrappanel:可换行面板与stackpanel相似,通过orientation属性设置子元素的排列顺序,从左至右按顺序位置定位子元素,当前行无法放下元素时断开至下一行,或者排序按照从上至下或从右至左的顺序进行,通过itemheight可以设置当前面板中所有子元素的高度,当然也有itemwidth设置所有子元素的宽度。
 4)canvas:面板是最轻量级的布局容器,它不会自动调整内部元素的排列和大小,不指定元素位置,元素将默认显示在画布的左上方。canvas主要用来画图。canvas默认不会自动裁剪超过自身范围的内容,即溢出的内容会显示在canvas外面,这是因为canvas的cliptobounds属性默认值是“false”,我们可以显式地设置为“true”来裁剪多出的内容。下面xaml代码简单演示了canvas面板的使用。
6)   grid:比起其他panel,功能是最多最为复杂的布局控件。它由<grid.columndefinitions>列元素集合和<grid.rowdefinitions>行元素集合两种元素组成。而放在grid面板中的元素必须显式采用附加属性定义其所在行和列,否则元素均默认放置在第0行第0列。
以上就是wpf入门教程的详细内容。
其它类似信息

推荐信息