举个简单得例子, 类似造房子, 当然实际上可能非常细, 对应的如下所示:

在此之前, 需要了解的是。

  • WPF项目是怎么启动的
  • Xaml的结构是怎么样组成, 命名控件定义引用的方法。

知道了如何在Xaml中写代码, 尽管在此之前, 很多经验老道的Winform开发者也发现了, 打开工具箱, WPF的控件仍然像winform一样支持拖拽过来, 到某个位置, 然后在Xaml代码中,

就会生成对应的代码, 按下F4同样会展现出很多属性, 通过设置后, 所见即所得, 双击类似的普通按钮, 同样可以在后台生成事件代码。

WPF兼容了Winform原有的开发方式, 事件模型, 可能唯一的区别就是, 定义这类的事件和属性名称有些不一样, 需要自己去了解。

但是我不建议去直接拖动工具箱来构建应用的方式, 则主要是在Xaml中用手输入, 类似写Hmtl的方式, 因为在后期的开发中, 这将是你主要的开发方式, 首先得适应, 习惯。

新手容易遇到的问题

- 1. 最开始无从下手,但是由于不太熟练, 也没有合适得样例, 来让你进行尝试。
- 2. 心里没有底, 不知道到底是到哪种程度了, 就能够满足基础得开发 (大部分书籍都是1000+页) 如果要从头看下去, 那是不太可能得, 然后就放弃了。
- 3. 没有人引导你学习, 由于都是碎片化得学习, 无法掌握融合得技巧, 做不出东西感觉好像和Winform差不多, 导致半途而废, 甚至还想继续用Winform。

参考方法

- 1. 把winform原有的东西, 用WPF来进行一次一次还原, 这样, 不仅仅让你变得熟练, 还能直观的感受到两种的区别及优劣性, 一旦让你产生了 “卧槽,牛逼”。 那么接下来的工作就会变得很轻松了。
- 2. 先了解, 学习哪些东西, 可以快速让你进行项目开发, 这样, 在实践中, 出现问题, 再针对问题进行解决, 这样后期会发现, 无形之中, 你就掌握了这种技巧。
- 3. 在没人引导如何学习的情况下, 参考一些其他的软件界面, 然后自己尝试实现, 从布局、样式、一些触发器、动画一步一步进行。

可以让你快速学习的一些资料和途径

- 1. WPF编程宝典.pdf   (书的内容比较全, 建议可以选择跳过性的阅读 , 不懂得地方再翻)
- 2. 深入浅出.pdf (主要以实例为主)
- 3. 搜索一些简单的入门视频资料或者简单的项目, 文档比较丰富详细的, 进行下手。

练手素材(主要训练布局意识和熟练使用样式模板等)

下面提供一些入门的素材, 你可以参考图中的样式, 用WPF来把他们分别实现, 有些简单, 有些有点难度, 可以根据目前学习的进度选择性演练, 这些都是本人练过手的素材, 所以挑选出来, 比较锻炼熟练度的, 参考如下:











业务层的代码与C# 一致, 所以大部分工作集中在, 如何能够熟练的将界面开发出来。

WPF 基础总结(学习建议)的更多相关文章

  1. 传智播客--WPF基础视频学习--sender解释(小白内容)

    sender是激发该事件的对象,如果用在Button的双击点击事件上的话,就是只当前点击的对象 用例子来说明一下,有两个Button控件,分别为1和2,同时绑定一个Button_Click事件 pri ...

  2. [WPF系列]从基础起步学习系列计划

    引言 WPF技术已经算不什么新技术,一搜一大把关于WPF基础甚至高级的内容.之前工作中一直使用winform所以一直没有深入学习WPF,这次因项目中使用了WPF技术来实现比较酷的展示界面.我在这里只是 ...

  3. C# WPF基础巩固

    时间如流水,只能流去不流回. 学历代表你的过去,能力代表你的现在,学习能力代表你的将来. 学无止境,精益求精. 一.写作目的 做C# WPF开发,无论是工作中即将使用,还是只应付跳槽面试,开发基础是非 ...

  4. aiku给你们最真心地学习建议--转

     aiku给你们最真心地学习建议: 以前我最开始的就搞驱动,后来发现要熟悉hal层,接着就硬着看hal代码,第一次看,很剧痛,慢慢的,看习惯了,就好了,后来发现,搞驱动的人,不懂hal,很多时候就定位 ...

  5. 韩天峰博客 php基础知识学习记录

    http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...

  6. C++学习建议

    C++学习建议 C++缺点之一,是相对许多语言复杂,而且难学难精.许多人说学习C语言只需一本K&R<C程序设计语言>即可,但C++书籍却是多不胜数.我是从C进入C++,皆是靠阅读自 ...

  7. Mybatis基础入门学习

    Mybatis基础入门学习 mybatis架构分析 搭建测试mybatis架构 )下载并导入mybatis3.2.7.jar(架构),mysql-connector-java-5.1.7-bin.ja ...

  8. Linux随笔-鸟哥Linux基础篇学习总结(全)

    Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...

  9. Objective-c基础知识学习笔记

    Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...

随机推荐

  1. 1G内存VPS安装 mysql5.6 经常挂

    背景介绍 去年3月份的时候参加了腾讯云主机活动,5年362,非常优惠.当时的想法是买来可以瞎整一波,虽然配置不高,但是搞点事情也够用. 配置如下,上海机房 1 核 1 GB 1 Mbps 系统盘:普通 ...

  2. 【hexo+github搭建myblog】bash: npm: command not found 问题,疑似解决!关键词:NPM全局安装路径

    情况:打算用hexo+github搭建个人博客 1. hexo搭建,参考博文如下,非常感谢: Hexo+Github博客搭建完全教程 hexo从零开始到搭建完整 问题: 在最基本的安装步骤 (参考链接 ...

  3. PeriscopeHeartAnimation

    // // ViewController.m // PeriscopeHeartAnimation // // Created by ldj on 4/28/15. // Copyright (c) ...

  4. .net连接Oracle

    通过网上了解到.net连接Oracle主要有3种方法.(1)System.Data.OracleClient微软的System.Data.OracleClient可以直接引用,但是VS会提示“Syst ...

  5. mssql 单引号插入到sqlserver的方法分享

    转自:http://www.maomao365.com/?p=6740 摘要: 下文讲述sqlserver操作中遇到单引号的处理方法sqlserver 数据库中可以存储任何字符,因为在数据库中字符都是 ...

  6. Eclipse修改JSP文件的默认编码

    Eclipse新建JSP文件,可以看到默认使用的是ISO-8859-1编码,如下图,而这种编码是无法保存中文的,不符合我们的需求 那么应该怎样修改呢?找到菜单Window-Preferences,找到 ...

  7. fiddler---Fiddler弱网测试

    无论是做web端还是app端的测试,我们都需要对弱网进行测试,对于弱网方法有很多种,如:Fiddler模拟弱网,控制电脑的网速等,今天介绍下Fiddler如何进行测试弱网 什么是弱网 弱网看字面意思就 ...

  8. vue全局路由守卫beforeEach+token验证+node

    在后端安装jsonwebtoken         npm i jsonwebtoken --save 在 login.js文件中引入      // 引入jwtconst jwt = require ...

  9. 多线程时,请求执行不是按顺序的,可添加Critical Section Controller(临界部分控制器),执行顺序是固定的,但执行一段时间后,该逻辑器下的请求不再循环,无解ing

  10. [C4W1] Convolutional Neural Networks - Foundations of Convolutional Neural Networks

    第一周 卷积神经网络(Foundations of Convolutional Neural Networks) 计算机视觉(Computer vision) 计算机视觉是一个飞速发展的一个领域,这多 ...