WPF入门教程系列一——基础

摘要:
2) 有点“标准通用标记语言”:WPF表单程序使用的XAML语言也属于“标准通用标志语言”的一个分支。4) 具有良好的面向对象思想:在WPF中,我们经常需要灵活地使用各种继承关系、多态性、重载等。5)DataBinding:Binding是WPF的一个亮点。

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比较

1Entity Framework封装性更好,增、删、改、查询更方便

2)  Entity Framework使用更方便的Linq to Entity查询,延迟加载(只有在需要时才加载,只加载需要的数据)。

 

三、WPF开发基础

第一、在装好以上所说的工具之后,打开Visual Studio 2013,选择“菜单—》文件—》新建—》项目”。如下图。  

 WPF入门教程系列一——基础第1张

 

第二、在“新建项目”对话框中选择“WPF应用程序”,修改名称为WpfApp1,然后点击“确定”按钮,便成功创建了一个“WPF应用程序”。新创建的项目所引用的公共类库如下。如下图。(“WPF应用程序”会在“引用”里面自动添加下图中所示的 PresentationCore、PresentationFramework、WindowsBase三大核心程序集)。

 WPF入门教程系列一——基础第2张

第三、WpfApp1项目的生成的文件结构。如下图。

 WPF入门教程系列一——基础第3张

 

第四、在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体。如下图中“StartupUri=”MainWindow.xaml””,还可以定义我们需要的系统资源以及引入程序集等。如下图。 

WPF入门教程系列一——基础第4张

第五、在MainWindow.xaml的设计窗体中我们可以修改Title。还可以设置MainWindow的属性和添加事件。完成了这些设置以后,我们就可以对窗体添加内容了,如下图。我在这个窗体中添加了一个ListView、两个WrapPanel、两个Button等。 

 WPF入门教程系列一——基础第5张

第六、在WPF的xmal文件中还可以添加如下资源。如下图。

 WPF入门教程系列一——基础第6张

四、小结

WPF应用程序的创建除了使用Visual Studio之外,还可以使用Expression Blend。

谈到学习WPF的开发,就必须要学习MVVM,学习MVVM,就要首先了解MVC、MVP等概念。

我自己做过WinForm、ASP.NET等使用各类.NET技术的项目,虽然微软的技术一直在进步、变化,但是最基本的东西都没有变,例如数据库的访问,文件的读写、日志处理,程序中异常的处理、报表、打印、性能的优化、友好的界面。

 

免责声明:文章转载自《WPF入门教程系列一——基础》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker安装mysql顺丰丰桥软件开发工具包 (.NET)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPF中ToolTip的自定义

ToolTip或者PopUp这个控件在做界面时会经常用到。如何对ToolTip进行自定义呢? 1.首先自定义tooltip的controlTemplate,完全清除系统默认效果, 如下:             <ControlTemplatex:Key="TooltipTemplate"TargetType="ToolTip">...

如何在Visual Studio 2013中使用Ribbon For WPF

1、首先需要 下载Ribbon For WPF.目前最新的版本是Microsoft Ribbon for WPF October 2010。 下载 链接: https://www.microsoft.com/en-us/download/details.aspx?id=11877#filelist 下载 完成后安装。 2、打开Visual Studio 2...

【WPF学习】第四十九章 基本动画

  在前一章已经学习过WPF动画的第一条规则——每个动画依赖于一个依赖项属性。然而,还有另一个限制。为了实现属性的动态化(换句话说,使用基于时间的方式改变属性的值),需要有支持相应数据类型的动画类。例如,Button.Width属性使用双精度数据类型。为实现属性的动态化,需要使用DoubleAnimation类。但Button.Paddin属性使用的是Th...

WPF 中动态创建和删除控件

动态创建控件 1.容器控件.RegisterName("Name",要注册的控件) //注册控件 2.容器控件.FindName("Name") as 控件类型 //找到控件并转换成相应类型 注意:仅通过 控件.Name来设置是不能通过FindName来找到控件的,必须注册 动态删除控件1.容器控件.Children.Remove(控件) //移除控件 2...

WPF 查找控件的所有子控件

/// <summary> ///查找子控件 /// </summary> /// <typeparam name="T">控件类型</typeparam> /// <param name="parent">父控件依赖...

WPF TextBox/TextBlock 文本超出显示时,文本靠右显示

文本框显示 文本框正常显示: 文本框超出区域显示: 实现方案 判断文本框是否超出区域 请见《TextBlock IsTextTrimmed 判断文本是否超出》 设置文本布局显示 1. FlowDirection 当文本超出显示区域时,设置FlowDirection靠右显示 下面是封装的附加属性ScrollEndWhenTextTrimmed 1...