wpf

一、 前言    

      最近在学习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比较

1Entity 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技术的项目,虽然微软的技术一直在进步、变化,但是最基本的东西都没有变,例如数据库的访问,文件的读写、日志处理,程序中异常的处理、报表、打印、性能的优化、友好的界面。


VS是自动生成exe文件的,只要你执行一次,就会自动生成,在项目文件夹里面你找找.在我们每次执行程序(debug或者release)bin/Release文件夹里就有你想要的exe文件了,但是这时候其实每次执行都有对应库文件跟随,所以打包的时候往往需要将Bin/Release文件夹一起打包,才可以执行EXE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 WPF体系结构 ........................................................................................................... WPF应用程序管理 ................................................................................................... 一、WPF应用程序由System.Windows.Application 类进行管理 .................. 二、创建WPF应用程序 .................................................................................. 三、应用程序关闭 ............................................................................................ 四、Application 对象的事件 ............................................................................ 五、WPF应用程序生存周期 ........................................................................... WPF窗体 ................................................................................................................... 一、窗体类 ........................................................................................................ 1、XAML文件.......................................................................................... 2、后台代码文件 ...................................................................................... 二、窗体的生存周期 ........................................................................................ 1、显示窗体 .............................................................................................. 2、关闭窗体 .............................................................................................. 3、窗体的激活 .......................................................................................... 4、窗体的生存周期 .................................................................................. 三、其他窗体相关的属性、方法、事件 ........................................................ 四、定义异形窗体 ............................................................................................ StackPanel、WrapPanel、DockPanel 容器 ............................................................. 一、StackPanel .................................................................................................. 1、可以使用Orientation 属性更改堆叠的顺序 ...................................... 2、设置控件的属性,调整控件的显示................................................... 二、WrapPanel ................................................................................................... 三、DockPanel ................................................................................................... Grid UniformGrid 容器 ........................................................................................... 一、Grid ............................................................................................................. 二、使用GridSplit分割 ................................................................................... 三、UniformGrid ............................................................................................... Canvas、InkCanvas布局 .......................................................................................... 一、Canvas ........................................................................................................ 二、InkCanvas ................................................................................................... WPF对控件其类型的继承方式如下 ....................................................................... WPF控件内容模型 ................................................................................................... 一、ContentControl模型 .................................................................................. 二、HeaderedContentControl模型 ................................................................... 三、ItemsControl模型 ...................................................................................... 1、使用ItemSource 属性 .......................................................................... 2、使用Items属性 ................................................................................... 四、HeaderedItemsControl模型 ....................................................................... Panel Decorator TextBlock 内容模型 ..................................................................... 一、Panel内容模型 .......................................................................................... 二、Decorator内容模型 .......................................................................... 三、TextBlock 模型 .................................................................................. 四、TextBox 模型 ..................................................................................... 依赖项属性和路由事件 ................................................................................... 一、依赖项属性(Dependency Property ................................................. 1、依赖项属性与CLR 包装属性 ................................................... 2、使用由依赖项属性提供的属性功能.......................................... 3、自定义依赖项属性及重写依赖项属性 ...................................... 二、路由事件(RoutedEvent)............................................................... 键盘输入、鼠标输入、焦点处理 ................................................................... 一、键盘类和键盘事件 ........................................................................... 二、鼠标类和鼠标事件 ........................................................................... 三、焦点处理 ........................................................................................... 1、键盘焦点: ................................................................................. 2、逻辑焦点 ..................................................................................... 3、键盘导航 ..................................................................................... 4、焦点事件 ..................................................................................... WPF命令 .......................................................................................................... 一、命令: ............................................................................................... 二、命令源 ............................................................................................... 三、命令目标 ........................................................................................... 四、命令绑定 ........................................................................................... WPF资源 .......................................................................................................... 一、什么是资源 ....................................................................................... 二、资源的定义及XAML中引用 .......................................................... 三、XAML解析资源的顺序 ................................................................... 四、静态资源(StaticResource)和动态资源(DynamicResource) .. 五、不同类型的资源 ............................................................................... 1、程序集资源。 ............................................................................. 2、对象资源 .....................................................................................

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值