WPF 基础总结(学习建议)

举个简单得例子, 类似造房子, 当然实际上可能非常细, 对应的如下所示:
在此之前, 需要了解的是。
- 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 基础总结(学习建议)的更多相关文章
- 传智播客--WPF基础视频学习--sender解释(小白内容)
sender是激发该事件的对象,如果用在Button的双击点击事件上的话,就是只当前点击的对象 用例子来说明一下,有两个Button控件,分别为1和2,同时绑定一个Button_Click事件 pri ...
- [WPF系列]从基础起步学习系列计划
引言 WPF技术已经算不什么新技术,一搜一大把关于WPF基础甚至高级的内容.之前工作中一直使用winform所以一直没有深入学习WPF,这次因项目中使用了WPF技术来实现比较酷的展示界面.我在这里只是 ...
- C# WPF基础巩固
时间如流水,只能流去不流回. 学历代表你的过去,能力代表你的现在,学习能力代表你的将来. 学无止境,精益求精. 一.写作目的 做C# WPF开发,无论是工作中即将使用,还是只应付跳槽面试,开发基础是非 ...
- aiku给你们最真心地学习建议--转
aiku给你们最真心地学习建议: 以前我最开始的就搞驱动,后来发现要熟悉hal层,接着就硬着看hal代码,第一次看,很剧痛,慢慢的,看习惯了,就好了,后来发现,搞驱动的人,不懂hal,很多时候就定位 ...
- 韩天峰博客 php基础知识学习记录
http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...
- C++学习建议
C++学习建议 C++缺点之一,是相对许多语言复杂,而且难学难精.许多人说学习C语言只需一本K&R<C程序设计语言>即可,但C++书籍却是多不胜数.我是从C进入C++,皆是靠阅读自 ...
- Mybatis基础入门学习
Mybatis基础入门学习 mybatis架构分析 搭建测试mybatis架构 )下载并导入mybatis3.2.7.jar(架构),mysql-connector-java-5.1.7-bin.ja ...
- Linux随笔-鸟哥Linux基础篇学习总结(全)
Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...
- Objective-c基础知识学习笔记
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
随机推荐
- JAVA的基本语法1
1.关键字 关键字的定义和特点 定义:被JAVA语言赋予了特殊含义,用作专门用途的字符串(单词). 就是在java语言编程的时候,在关键的地方使用的单词,体现关键的地方的含义.这些单词都是特有的,并且 ...
- form分辨率
近期做项目时,遇到开发的winform在自己电脑上可以正常显示,共享到其他电脑就事儿不能显示了: [转载自:http://blog.csdn.net/lcawen88/article/details/ ...
- Flask 异步化
web网站包含前端和后端, 异步处理可以用在前端, 也可以用在后端. 前端 jquery 进行 ajax 请求时, 可设置 async 属性为 true, 并为 success 设置一个 callb ...
- 需求规格说明书(final)
1. 引言 1.1 编写目的 该文档是关于微信小程序自习吧的功能和性能描述,重点描述了小程序的功能需求,并作为小程序开发设计阶段的主要输入. 本文档的预期读者包括:triple兔成员,软件工程老师,用 ...
- PHP代码篇(七)--PHP及MySQL已经使用过的函数
一.PHP常用函数 //数组转字符串 $str = implode(',',$device_string); //字符串转数组 $arr = explode(',',$device_string); ...
- Apache—给一个站点绑定多个域名
前提简介: ServerAdmin:Apache服务管理员通知邮箱地址,如果有真实的邮箱地址也可以设置此值. ServerName:是服务的名字,只能填写一个域名. ServerAlias:serv ...
- [PHP] vscode配置SFTP扩展同步文件
在我们的项目开发过程中,经常有一种模式,有一台linux的开发机作为我们的测试机器,上面安装了ftp服务.我们在windows系统的本地机器使用IDE编写代码,自动或者保存时同步上传到测试机下,这样就 ...
- input:file样式怎样修改
问题描述: 我需要点击input:file来修改img中的图片,但是input:file样式太丑 解决办法: 给file设置透明度为0,让用户看不见他 创建新的button按钮 修改button按钮样 ...
- 面试必备的13道可以举一反三的Vue面试题
Vue框架部分我们会涉及一些高频且有一定探讨价值的面试题,我们不会涉及一些非常初级的在官方文档就能查看的纯记忆性质的面试题,比如: * vue常用的修饰符? * vue-cli 工程常用的 n ...
- Tensorflow之变量赋值输出1+2+3+4+5+6+7+8+...
一.导入tensorflow import tensorflow as tf 二.定义计算图 (1)常量初始化 constant_name = tf.constant(value) (2)变量初始化 ...
