WPF入门教程系列一——基础
原文:https://www.cnblogs.com/chillsrc/p/4464023.html
WPF入门教程系列目录
WPF入门教程系列二——Application介绍
WPF入门教程系列三——Application介绍(续)
WPF入门教程系列四——Dispatcher介绍
WPF入门教程系列五——Window 介绍
WPF入门教程系列六——布局介绍与Canvas(一)
WPF入门教程系列七——布局之WrapPanel与StackPanel(二)
WPF入门教程系列八——布局之Grid与UniformGrid(三)
WPF入门教程系列九——布局之DockPanel与ViewBox(四)
WPF入门教程系列十——布局之Border与ViewBox(五)
WPF入门教程系列十一——依赖属性(一)
WPF入门教程系列十二——依赖属性(二)
WPF入门教程系列十三——依赖属性(三)
WPF入门教程系列十四——依赖属性(四)
WPF入门教程系列十五——WPF中的数据绑定(一)
WPF入门教程系列十六——WPF中的数据绑定(二)
WPF入门教程系列十七——WPF中的数据绑定(三)
WPF入门教程系列十八——WPF中的数据绑定(四)
WPF入门教程系列十九——ListView示例(一)
WPF入门教程系列二十——ListView示例(二)
WPF入门教程系列二十一——DataGrid示例(一)
WPF入门教程系列二十二——DataGrid示例(二)
WPF入门教程系列二十三——DataGrid示例(三)
一、 前言
最近在学习WPF,学习WPF首先上的是微软的MSDN,然后再搜索了一下网络有关WPF的学习资料。为了温故而知新把学习过程记录下来,以备后查。这篇主要讲WPF的开发基础,介绍了如何使用Visual Studio 2013创建一个WPF应用程序。
首先说一下学习WPF的基础知识:
1) 要会一门.NET所支持的编程语言。例如C#。
2) 会一点“标准通用标记语言”:WPF窗体程序使用的XAML语言,也属于“标准通用标记语言”的一个分支。如果以前接触过XML、HTML、XHTML、ASP.NET之类的“标准通用标记语言”,对于学习是有所帮助的。
3) 有一定的WinForm或ASP.NET经验,主要是对控件事件的处理要有所了解。
4) 拥有良好的面向对象的思想:在WPF中,经常要灵活运用各种继承关系、多态、重载等。
5) DataBinding要有所了解:Binding是WPF的一大亮点。
6) 对设计模式要有一定的了解:当然是越深入越好了,在实际项目中,各种设计模式经常交融使用。
二、 本系列使用到的工具:
1) 开发环境:Windows 7中文版
2) 开发工具:Visual Studio 2013中文版
3) 数据库:本机SQL Server 2012 Express
4) ORM工具:Entity Framework(实体框架)。
Entity Framework与NHibernate比较:
1)Entity Framework封装性更好,增、删、改、查询更方便
2) Entity Framework使用更方便的Linq to Entity查询,延迟加载(只有在需要时才加载,只加载需要的数据)。
三、WPF开发基础
第一、在装好以上所说的工具之后,打开Visual Studio 2013,选择“菜单—》文件—》新建—》项目”。如下图。
第二、在“新建项目”对话框中选择“WPF应用程序”,修改名称为WpfApp1,然后点击“确定”按钮,便成功创建了一个“WPF应用程序”。新创建的项目所引用的公共类库如下。如下图。(“WPF应用程序”会在“引用”里面自动添加下图中所示的 PresentationCore、PresentationFramework、WindowsBase三大核心程序集)。
第三、WpfApp1项目的生成的文件结构。如下图。
第四、在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体。如下图中“StartupUri=”MainWindow.xaml””,还可以定义我们需要的系统资源以及引入程序集等。如下图。
第五、在MainWindow.xaml的设计窗体中我们可以修改Title。还可以设置MainWindow的属性和添加事件。完成了这些设置以后,我们就可以对窗体添加内容了,如下图。我在这个窗体中添加了一个ListView、两个WrapPanel、两个Button等。
第六、在WPF的xmal文件中还可以添加如下资源。如下图。
四、小结
WPF应用程序的创建除了使用Visual Studio之外,还可以使用Expression Blend。
谈到学习WPF的开发,就必须要学习MVVM,学习MVVM,就要首先了解MVC、MVP等概念。
我自己做过WinForm、ASP.NET等使用各类.NET技术的项目,虽然微软的技术一直在进步、变化,但是最基本的东西都没有变,例如数据库的访问,文件的读写、日志处理,程序中异常的处理、报表、打印、性能的优化、友好的界面。
WPF入门教程系列一——基础相关推荐
- WPF入门教程系列三——Application介绍(续)
接上文WPF入门教程系列二--Application介绍,我们继续来学习Application 三.WPF应用程序的关闭 WPF应用程序的关闭只有在应用程序的 Shutdown 方法被调用时,应用程序 ...
- WPF入门教程系列四——Dispatcher介绍
WPF入门教程系列四--Dispatcher介绍 一.Dispatcher介绍 微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢? 不管是WinForm应用程序还 ...
- WPF入门教程系列(二) 深入剖析WPF Binding的使用方法
同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProperty)只能拥有一个binding. 这一点可以通过设置bindi ...
- WPF入门教程系列(一) 创建你的第一个WPF项目
WPF基础知识 快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识: 1) C#基础语法知识(或者其他.NET支持的语言):这个是当然的了,虽 ...
- WPF入门教程系列(1)----基础
一.前言 最近找了一个实习,需要学习WPF,由于之前对这门语言没有任何了解,所以就网上找大牛的博客作为入门基础,为了让自己更加熟悉,我选择了自己边学习边写博客,为了自己同时也为了方便以后他人的学习. ...
- WPF入门教程系列(2)---基础篇
接下来在工具箱中双击ListView,一个小框会出现在界面上. 修改ListView的属性,可以自己尝试修改,可以观察到图形会随着实时变化. 接下来,在<GridView>和<Gri ...
- 【转】WPF入门教程系列六——布局介绍与Canvas(一)
从这篇文章开始,我们将对WPF中的界面如何布局做一个较简单的介绍,大家都知道:UI是做好一个软件很重要的因素,如果没有一个漂亮的UI,功能做的再好也无法吸引用户使用,而且没有漂亮的界面,那么普通用户会 ...
- WPF入门教程系列九——布局之DockPanel与ViewBox(四)
七. DockPanel DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中.停靠面板其实就是在WinForm类似于Dock属性的元 ...
- WPF入门教程系列十九——ListView示例(一)
经过前面的学习,今天我做一个比较综合的WPF程序示例,主要包括以下功能: 1) 查询功能.从数据库(本地数据库(local)/Test中的S_City表中读取城市信息数据,然后展示到WPF的Windo ...
- WPF入门教程系列十三——依赖属性(三)
四. 只读依赖属性 在以前在对于非WPF的功能来说,对于类的属性的封装中,经常会对那些希望暴露给外界只读操作的字段封装成只读属性,同样在WPF中也提供了只读属性的概念,如一些 WPF控件的依赖属性是只 ...
最新文章
- 【赠书】21世纪科技竞争的核心是超级智能的控制权
- PIL实现两张图片合成一张,和图片加文字
- RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms
- 学C/C++的同学们,有福了!
- selenium分布式部署
- docker选择安装位置_如何使用docker 1.13版本更改centos 7中的docker安装目录
- P5319-[BJOI2019]奥术神杖【0/1分数规划,AC自动机,dp】
- php文本文件操作,文本文件操作的php类
- 计算机网络——访问网站数据传输过程
- linux c变量命名规则,C语言中变量名及函数名的命名规则与驼峰命名法
- php函数方法属性吗,为什么PHP属性不允许使用函数?
- Pspice 使用指南(中文)
- IOS 保存图片至相册
- YYKit 源码探究
- Modelica学习笔记2
- 清理winsxs的小工具
- Http响应Response详解
- JAVA学习:将字符串转成数字
- 计算机网络性能常见参数,计算机网络参数及其对网络性能的影响
- 计算机二类中文核心期刊,我国科学院计算机网络信息中心在学研究生年终考核奖评定办法(试行).doc...
热门文章
- 【小程序源码】自带接口短视频去印工具箱
- HTML注释和js注释,js 注释
- 如何在 think-cell 瀑布图中并行汇总多个系列?
- Windows环境下Redis安装与配置的两种方式
- mysql版本查询命令
- 12道 javaScript 经典逻辑题,是否承载着你的回忆
- 如何修改计算机背景色,照片换背景颜色 电脑如何修改照片底色?如何修改照片背景色?...
- 网线制作ppt_制作网线图解讲解.ppt
- iTextSharp笔记
- C语言实现入门级小游戏——扫雷(排行榜+玩家自定义难度+递归展开一片+标记地雷)版本