什么是WPF

WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

摘自MSDN

WPF 的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势。WPF 通过一整套应用程序开发功能扩展了这个核心,这些功能包括Extensible Application Markup Language (XAML)、控件、数据绑定、布局、2-D和3-D图形、动画、样式、模板、文档、媒体、文本和版式。WPF 包含在 Microsoft .NET Framework 中,使您能够生成融入了 .NET Framework 类库的其他元素的应用程序。

本概述适用于新用户,其中介绍了 WPF 的关键功能和概念。 经验丰富、希望回顾 WPF 的 WPF 开发人员也可以从本概述中找到有用的信息。

摘自MSDN

WPF和WINFROM比有什么优缺点

优点

  • WPF制作的界面更加美观,漂亮。
  • WPF开发模式更加科学,可以实现开发和界面设计分离

缺点

  • 开发的程序执行效率不是很高。

  • 学习成本比较高

WPF学习需要掌握的主要知识点

  • XAML
  • WPF排版技术
  • WPF控件
  • WPF时间
  • WPF资源、模板、风格的使用
  • WPF图形
  • WPF动画

第一个WPF程序

  1. 新建一个控制台应用程序。

  2. 添加引用System.XamlPersentationCorePersentationFrameworkWindowsBase

  3. 添加代码

    using System;

    using System.Windows;

    namespace WPFTest

    {

    public class HelloWordWpf

    {

    [STAThread]

    public static void Main()

    {

    Window win = new Window(); //WPF窗口

    win.Title = "Hello Word!";

    win.Content = "Hello Word!";

    Application app = new Application();

    app.Run(win);

    }

       }

    }

WPF应用程序生命周期

方法名 事件 功能描述
OnActivated Activated 应用程序获取焦点事件
OnDeativated Deativated 应用程序失去焦点事件
OnSessionEnding SessionEnding 应用程序退出或系统关机前
OnExit Exit 在应用程序退出前调用
Shutdown 退出应用程序
OnStartup Startup 在调用Run方法

WPF相关学习资源

WPF从入门到放弃系列第一章 初识WPF的更多相关文章

  1. WPF从入门到放弃系列第二章 XAML

    本文是作者学习WPF从入门到放弃过程中的一些总结,主要内容都是对学习过程中拜读的文章的整理归纳. 参考资料 XAML 概述 (WPF):https://msdn.microsoft.com/zh-cn ...

  2. 我与PHP和git不得不说的故事(梦开始的地方,从入门到放弃记录第一章)

    ·关于下载 阿瑶瑶跟wampsever官网搏斗了一下午,其实我觉得教材可能在PUA我.谷歌说它给的网址安全证书过期,然后下载以断网收场.(阿瑶的第一战,以失败告终) [经过我玲姐指点,下载路径变为迅雷 ...

  3. WEBGL 2D游戏引擎研发系列 第一章 <新的开始>

    WEBGL 2D游戏引擎研发系列 第一章 <新的开始> ~\(≥▽≤)/~HTML5游戏开发者社区(群号:326492427) 转载请注明出处:http://html5gamedev.or ...

  4. [大数据从入门到放弃系列教程]第一个spark分析程序

    [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 **** ...

  5. C语言编程入门之--第一章初识程序

    第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...

  6. K8S 从入门到放弃系列文章目录(Kubernetes 1.14)

    1)软件环境 软件 版本 系统 Centos7.5 Kubernetes 1.14.1 Docker 18.09 Calico 3.6 Etcd 3.3.12 2)部署过程简单概要 三台master节 ...

  7. [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...

  8. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  9. php从入门到放弃系列-04.php页面间值传递和保持

    php从入门到放弃系列-04.php页面间值传递和保持 一.目录结构 二.两次页面间传递值 在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述. 1.get提交 ...

随机推荐

  1. java常用的包的简介

    java常用的包: java.lang:包含java语言的核心类,如String.math.system和thread类等,使用这个包下的类无需import导入,系统会自动导入这个包下的所有类.   ...

  2. 使用ueditor时候修改图片路径及其相关信息

    ueditor功能比较强大  使用也比较方便 但是有一些东西是需要我们自己根据实际情况去设置的 以下是关于图片/涂鸦/视频等上传信息的更改: 首先我们要找到配置文件config.json 注意不是co ...

  3. 自动化分析工具PSSDIAG

    微软有个内部工具--PSSDIAG,它能收集非常多的信息,仅需要简单的配置和操作步骤. 下载地址: http://diagmanager.codeplex.com 默认安装路径: C:\Program ...

  4. SQL Server I/O 问题的诊断分

    一. SQL Server 什么时候和磁盘打交道: 1. SQL 需要访问的数据没有在Buffer pool中,第一次访问时需要将数据所在的页面从数据文件中读取到内存中.(只读) 2. 在insert ...

  5. JavaScript入门(10)

    一.Window对象 window对象是BOM的核心,window对象指当前的浏览器窗口 window对象方法 二.JavaScript计时器 在JavaScript中,我们可以在设定的时间间隔之后来 ...

  6. 读jQuery官方文档:遍历

    遍历 jQuery的快捷遍历方法可以快速定位到想要的元素.查找祖先元素 html<div class="grandparent"> <div class=&quo ...

  7. hadoop mapreduce 优化

    http://www.cnblogs.com/c840136/archive/2013/03/10/2952887.html http://irwenqiang.iteye.com/blog/1535 ...

  8. TortoiseSVN本地代码版本控制设置步骤。

    1.下载安装TortoiseSVN客户端. 2.在某个盘创建空的文件夹作为项目代码的版本库.在空的文件夹内部右键鼠标TortoiseSVN->Create repository here 3.在 ...

  9. Linq JsRender

    http://blog.csdn.net/linfei721/article/details/8973683

  10. iOS中的定时器 - NSTimer 使用方法

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3556805.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...