前言

WPF是一个生不逢时的技术,刚推出的时候由于是XP时代,WPF技术有两个不方便的地方:

1、由于操作系统没有自带Framework,需要另外安装,比较麻烦;

2、程序第一次启动时,由于要加载Framework,所有显得有点慢。

后来,这些问题都不存在了:操作系统自带Framework了,机器性能提高了,但是WEB时代来了,做桌面应用的本来就不多了,加上WinForm又比较简单易用,谁还用WPF呢!

在这种情况下写一个WPF快速开发入门的教程的意义是什么呢?本教程是针对具备WinForm经验的.NET开发人员,我希望他们能尽快转到WPF上来。

推荐WinForm开发者转向WPF的原因有以下几点:

1、WonForm的布局已经完全不匹配目前Win10的布局风格,虽然可以通过代码实现相关效果,但远不如WPF实现的那么自然;

2、WPF能实现的界面效果比WinForm好,对于WPF初学者而言,可能效果还不如WinForm拉的控件漂亮,但不能因为这个原因就否定WPF,WPF的可能性是大于WinForm的;

3、WPF支持MVVM框架,MVVM模式是非常值得学习掌握的开发框架;

4、未来的开发框架,如WinUI、MAUI等设计模式更像WPF而不是WinForm,所以对WPF的投资不会白费;

掌握WPF不代表就是完全抛弃WinForm,目前公司很多内部的调试工具、模拟器程序等,我都是采用WinForm开发的,但只要是面向最终客户的程序都采用WPF开发。

目录

(一)准备工作

通过优秀组件的使用,我们可以很快搭建一个漂亮的应用程序,以增强我们进一步深入学习的信心。Stylet是我主要使用的框架,在继续下面的学习之前必须要掌握。

(二)WPF开发快速入门系列目录

相关资源

代码下载:Learn WPF: WPF学习笔记 (gitee.com)

 
 

WPF开发快速入门【0】前言与目录的更多相关文章

  1. WPF开发快速入门【7】WPF的拖放功能(Drag and Drop)

    概述 本文描述WPF的拖放功能(Drag and Drop). 拖放功能涉及到两个功能,一个就是拖,一个是放.拖放可以发生在两个控件之间,也可以在一个控件自己内部拖放.假设界面上有两个控件,一个Tre ...

  2. SpringBoot开发快速入门

    SpringBoot开发快速入门 目录 一.Spring Boot 入门 1.Spring Boot 简介 2.微服务 3.环境准备 1.maven设置: 2.IDEA设置 4.Spring Boot ...

  3. HealthKit开发快速入门教程之HealthKit数据的操作

    HealthKit开发快速入门教程之HealthKit数据的操作 数据的表示 在HealthKit中,数据是最核心的元素.通过分析数据,人们可以看到相关的健康信息.例如,通过统计步数数据,人们可以知道 ...

  4. Apple Watch开发快速入门教程

     Apple Watch开发快速入门教程  试读下载地址:http://pan.baidu.com/s/1eQ8JdR0 介绍:苹果为Watch提供全新的开发框架WatchKit.本教程是国内第一本A ...

  5. WPF/MVVM Quick Start Tutorial - WPF/MVVM 快速入门教程 -原文,翻译及一点自己的补充

    转载自 https://www.codeproject.com/articles/165368/wpf-mvvm-quick-start-tutorial WPF/MVVM Quick Start T ...

  6. Transform组件C#游戏开发快速入门

    Transform组件C#游戏开发快速入门大学霸 组件(Component)可以看作是一类属性的总称.而属性是指游戏对象上一切可设置.调节的选项,如图2-8所示.本文选自C#游戏开发快速入门大学霸   ...

  7. HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID

    HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...

  8. HealthKit开发快速入门教程之HealthKit开发概述简介

    HealthKit开发快速入门教程之HealthKit开发概述简介 2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据.该移动应用平台被命名为“He ...

  9. 游戏控制杆OUYA游戏开发快速入门教程

    游戏控制杆OUYA游戏开发快速入门教程 1.2.2  游戏控制杆 游戏控制杆各个角度的视图,如图1-4所示,它的硬件规格是本文选自OUYA游戏开发快速入门教程大学霸: 图1-4  游戏控制杆各个角度的 ...

  10. 【翻译】WPF应用程序模块化开发快速入门(使用Prism+MEF)

    编译并运行快速入门 需要在VisualStudio 2010上运行此快速入门示例 代码下载:ModularityWithMef.zip 先重新生成解决方案 再按F5运行此示例 说明: 在此快速入门示例 ...

随机推荐

  1. task 如何终止线程

    前言 这个直接上代码. 代码逻辑是使用var tokenSource = new CancellationTokenSource(); 让tokenSource 去取消.值得注意的是取消线程后,线程会 ...

  2. labelme转coco数据集

    原始labelme数据目录结构如下: |-- images | |--- 1.jpg | |--- 1.json | |--- 2.jpg | |--- 2.json | |--- ....... | ...

  3. Webpack Proxy工作原理?为什么能解决跨域?

    一.是什么 webpack proxy,即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题(浏览器安全策略限制) 想要实 ...

  4. 【vue】纯前端图形验证码实现

    [vue]纯前端图形验证码实现 感觉人不能在SQL里面淹死,得看看别的东西了 因为是上班摸鱼偷摸搞的,所以人比较懒,很多东西也懒得修修改改,直接放在一个html文件下了 页面如下 js的生成图形逻辑是 ...

  5. 初接触:从创建工程到导出gerber(学习Altium Designer)

    学习Altium Designer Altium Designer的工程文件后缀为.PrjPcb,主要包含Source Documents和Libraries.Source Documents里面有S ...

  6. What is an HL7 ADT Message?

    Patient Admission Discharge and Transfer (ADT) messages are used to exchange the patient state withi ...

  7. 力扣171(java)-Excel表列序号(简单)

    题目: 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称.返回 该列名称对应的列序号 . 例如: A -> 1B -> 2C -> 3...Z -> ...

  8. OceanBase初体验之Docker快速部署试用环境

    前置条件 准备好一台安装了 Docker 的 Linux 服务器,确保能够连接到 Docker Hub 仓库. 执行以下命令拉取最新的 OceanBase 镜像: docker pull oceanb ...

  9. OpenSergo 正式开源,多家厂商共建微服务治理规范和实现

    ​简介 OpenSergo,Open 是开放的意思,Sergo 则是取了服务治理两个英文单词 Service Governance 的前部分字母 Ser 和 Go,合起来即是一个开放的服务治理项目. ...

  10. 性能提升40%!阿里云神龙大数据加速引擎获TPCx-BB世界排名第一

    ​简介:神龙大数据加速引擎,针对大数据常用组件,如Spark.Hadoop.Alluxio等,结合阿里云神龙架构的特性,进行软硬一体化优化,形成独一无二的性能优势,最终,使复杂SQL查询场景性能相比社 ...