【思维导图】新手该怎么学习C#/WPF

C#和WPF没有什么多大的关系,WPF是一个框架,VB都可以写WPF,至于如何学习C#,还是老样子!

基础:

  • 基础语法

  • 基础API

  • 基础练习

所谓基础语法,包括if /if else ,swicth,while,操作符,数值

基础API,包括文件流 Thread,网络

基础练习,文件读写,多线程练习,访问网络

高级:

  • Linq

  • 集合

  • 委托

  • 反射

  • 特性

  • unsafe

配合适当的练习,都可以达到一定的地步

学习WPF,过程可能曲折

XAML:

  • 基础控件的使用

这个范围很大,合格要求是xaml能手写,创建事件
  • Style

编写任意控件常见属性的Style
  • Template

知道并清楚DataTemplate和ControlTemplate的区别以及常见控件的写法
  • Binding

集合,datacontext,控件之间,自身,寻找控件 多路绑定,转换器,多路转换器可以熟练使用
  • Trigger

事件触发,属性触发(trigger),条件触发,数据触发 以及多条件触发,多数据触发,这几个需要大量的练习
  • 变形

布局和render两种,但是内部的变换手段是一样,大概有5个左右,没开VS,想不起来了
知道都是干什么的就行了

以上差不多就是xaml的基础


XAML的高阶

动画

有很多种,插值,线性,不是几下就能说明白的

图形

同样,过程很简单,但是有很多,最终很复杂

以上两个说好了能写本书,特别是图形,WPF的3D和2D真的很出众

  • WPF中阶

这个范围不好说。但是必须能做到

创建自定义控件(直接继承于现有/继承基础元素)
熟练使用Win32 SDK(常见的钩子,屏幕输出,句柄检索...)
UI线程使用以及优化
路由事件至少了解到80%
WPF框架源码/原理至少50%
基本设计模式了解程度至少40%
对自身编写WPF框架的语言的了解至少到75%
对.NET框架的了解程度至少到30%

MVVM

入门:

自己能够编写简单的MVVM模式(简单的例子,知道如何使用即可,例如:
点击Button改变Content  ,
知道命令和命令参数怎么即可。)
主要是理解MVVM由那些东西构成

中级

能够编写事件的命令(传递参数,传递多个参数)
熟练使用Behavior
能够使用常见MVVM框架

高级

自己能够编写出Behavior
了解MVVM框架至少75%
还有其他吧的,我也不太懂了

最后分享一个C#零基础教程(2021最新录制):

点击观看


       

           

更多推荐

           

新录制:Unity3D游戏开发教程 | FlappyBird+合成大西瓜

Tina老师新录制:前端React | 入门基础知识+实战教程

Eleven亲授.NET6多线程最佳场景实践+应用教程

       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员搞笑故事:给女儿织的辫子 ​​​​,你知道是什么算法吗?

全世界只有3.14 % 的人关注了数据与算法之美1、程序员给女儿织的辫子 ,你知道是什么算法吗?推荐阅读《啊哈!算法》2、一个姑娘在我女友面前声讨她的男友,女友帮腔说:学土木工程的嘛,肯定又土又木。姑娘问&a…

模块XX.dll已加载,但对DllRegisterServer的调用失败

为什么80%的码农都做不了架构师?>>> 模块"XX.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005 一句话,权限问题…… 转载于:https://my.oschina.net/szm/blog/76544

爱卡创誓记java刷钱_【178创誓记】快速升级:40到50级只需要两天的黄金刷

本文由178论坛会员:东东呛 转载,如果你是原作者请联系我们,我们会对原创作者给予奖励。(当然您也可以在评论回复表达看法,但是论坛会有更丰富的奖励哦。)朵朵快满级了~~~由于内测只开到50级~~~可还剩下一堆任务~所以刷怪刷到49级半…

大道至简,大数据的小窍门

在大数据时代的现今,数据庞大且繁杂,因此,如何有效利用它们,达到资源不浪费的目的成为了相关工作者思考的问题,于是数据分析就应运而生。在实际生活中,数据分析已经成为人们作出判断和采取行动的基石。比如…

服务端和客户端证书各种组合下对访问者(浏览器/中间人)的影响

今天本来想研究下nginx下如果获取SSL指纹,但是环境没有装成功就尝试了下如果不用nginx直接在服务端拿到SSL指纹,没想到从创建自签名证书到如何开启证书,以及服务端证书和客户端证书各种组合校验的测试就花了我很长时间。(注意自签名证书用Rsa…

如果科学家封神,会有什么称号?

全世界只有3.14 % 的人关注了数据与算法之美你听说过“天雷真君”吗?你知道“虐猫狂人"吗?其实这两个称号是网友分别送给大科学家富兰克林和薛定谔的。今天让我们看看伟大的科学家们还有一些什么有趣的称号。尺规小王子高斯如来神展傅立叶勾股圣手—…

mac php mcrypt,MacOSX 10.10安装mcrypt详细教程分享

mcrypt 是使用安全技术来交换数据文件加密方法. 这是必需的,例如一些 Magento 的 Web 应用程序,购物车软件或一个 PHP 框架,比如 Laravel. 本教程在 OS X 10.10 Yosemite 经过测试。本指南是真正为用户提供了PHP运行于OSX Yosemite 的5.5.14 版本。其他下…

WPF加载高德地图

WPF开发者QQ群: 340500857 前言 有小伙伴问如何加载高德地图。欢迎转发、分享、点赞,谢谢大家~。 接着上一篇源码中放了我的 BingMap Key 请大家不要滥用,谢谢。也可以自行申请 BingMap Key https://www.bingmapsportal.com/效果预览&#x…

深度学习与机器学习到底什么关系?

最近广州的天气老是变幻无常,前脚还冻得瑟瑟发抖,后脚又开始夏天模式(如下图),让小天甚是怀念每天艳阳高照的夏天,虽然热了点但好歹不用担心猝不及防地收到寒风暴雨黄色预警。说到夏天,不得不提…

全选按钮的使用。winfrom程序中,对全选按钮的理解,欢迎拍砖!

最近在做公司项目时,用到了一些单选多选的处理情况。特编辑此文,欢迎批评指正。(有图有真相) winfrom程序。 首先,需要绑定某些用户,该用于由当前登陆用户获取。 private void BindUser() { …

理工男一般不浪漫,一浪漫便值很多年

今晚是平安夜接下来就是圣诞元旦小木先祝大家幸福、快乐、健康一年一度“最佳”圣诞元旦礼物奖就要发表了中了直男毒的礼物你们挚爱的女朋友可是不要的哦今天小木就大家扒一扒满满直男的礼物是怎样的!Part 1“男票送了我一箱木瓜,说是丰胸疗程&#xff0…

C#序列化与反序列化详解

什么是序列化以及如何实现序列化?序列化是通过将对象转换为字节流,从而存储对象或将对象传输到内存,数据库或文件的过程。主要用途是保存对象的状态,包括对象的数据,以便能够在需要是重建对象。反向过程称为 反序列化。…

TLS是如何保障数据传输安全(中间人攻击)

前言前段时间和同事讨论HTTPS的工作原理,当时对这块知识原理掌握还是靠以前看了一些博客介绍,深度不够,正好我这位同事是密码学专业毕业的,结合他密码学角度对tls加解密(DH这块)的阐述,让我对这块原理有了更进一步的理…

除了 Python ,这些语言写的机器学习项目也很牛

全世界只有3.14 % 的人关注了数据与算法之美Python 由于本身的易用优势和强大的工具库储备,成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习,已然是各大项目最偏爱的语言。其实除了 Python ,也不乏有开发者用其他语…

马斯克又要搞事情,不锈钢材质的Space X“星际飞船”正式亮相

全世界只有3.14 % 的人关注了数据与算法之美近日,据美国科技媒体 Teslarati 报道,今年 Space X (太空探索技术公司)已经开始研发“星际飞船”(Starship)和 “Super Heavy”,而“星际飞船”则是火…

记一次 .NET 某外贸Web站 内存泄漏分析

一:背景 1. 讲故事上周四有位朋友加wx咨询他的程序内存存在一定程度的泄漏,并且无法被GC回收,最终机器内存耗尽,很尴尬。沟通下来,这位朋友能力还是很不错的,也已经做了初步的dump分析,发现了托…

java取整公式,Java取整函数 四舍五入函数-Go语言中文社区

简介Math类中提供了5个与取整相关的函数,如下所示:static double ceil(double a):天花板函数,返回大于等于a的最小整数(但是以浮点数形式存储)。static double floor(double a):地板函数,返回小于等于a的最…

这些优质的教育类公众号您知道么,非常实用!

随着新媒体的发展壮大,教育类微信号林林总总数不胜数,官方的、媒体的、学校的……让人眼花缭乱,不知如何选择,今天,小编要向您推荐一些优质且实用的教育类公众号,请大家立即关注。长按二维码,选…

ML.NET Cookbook:(3)如何从CSV加载包含多个列的数据?

TextLoader用于从文本文件加载数据。您需要指定什么是数据列、它们的类型以及在文本文件中的位置。当输入文件包含许多相同类型的列(通常打算一起使用)时,我们建议从一开始就将它们作为向量列进行加载:这样,数据的架构…