【思维导图】新手该怎么学习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,一经查实,立即删除!

相关文章

简单的桌面转移D盘

第一步:在D盘新建”桌面“文件夹第二步:开始---------运行------------输入Regedit ------找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders(也可以进入注册表后点菜单编辑查找,输入…

信号转化java_Java基础知识回顾-7

1、ByteArrayInputStream、ByteArrayOutputStreamString str "ZHANGSAN";//System.out.println(str.toLowerCase());ByteArrayInputStream inputStream newByteArrayInputStream(str.getBytes());ByteArrayOutputStream outputStream newByteArrayOutputStream();i…

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

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

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

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

近业务=困死在一条船上?

大家好,我是Z哥。先来描述一个常见的场景。程序员与业务需求方常常是一对冤家,经常因为一个业务功能实现争辩得耳红面赤。研发觉得这个功能很low,没什么技术含量,业务方却认为这个功能却很有用,需要花功夫做细做深做好…

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

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

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

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

HDU 2996 In case of failure [KD树]

KD树,来源计算几何,在《计算几何-算法与应用》一书中有详细的解释。 这题是比较裸的KD树模型,要在点集中找到离一个点最近的一个点。其实KD树就是一棵多维平衡二叉树,将多维空间分成很多个部分,查找时能够较快的逼近查…

构建属于你自己的dapr服务发现

作者:李俱顺原文:https://www.4async.com/2021/05/building-your-own-dapr-service-discovery/在上一篇文章中,我其实遗留了一个问题:如何定义dapr的服务发现呢?其实在后面阅读dapr的源码之后也前一篇文章的评论中提到…

python csv文件读取行列_使用Numpy读取CSV文件,并进行行列删除的操作方法

Numpy是Python强大的数据计算和处理模块,其操作数据非常迅速且简单易行。首先读取CSV文件>>> import numpy as np#导入numpy模块>>> tempnp.loadtxt("file.csv",dtypenp.int,delimiter,)可以看到两行代码搞定,看一下temp的内…

java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject

错误信息 最近在学Android使用KSOAP2调用现有的Webservice的方法,期间在网上找了很多代码,但是每次在Android模拟器中运行的时候程序都会崩溃,搞得自己都快崩溃了。。。。 查看了一下LogCat中的错误报告,发现是因为java.lang.NoCl…

php 模板替换,使用PHPWord对Word文件做模板替换

因工作需要,使用了版本比较旧的PHPWord项目官方已不见维护更新,上次版本更新是在Fri Jul 8, 2011 at 8:00 AM如果PHP版本>5.3.3,强烈推荐使用PHPOffice/PHPWord这个开源项目本篇针对的为旧版本的PHPWord基本安装问题总结Autoloader自动加载…

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

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

Android之应用APN、WIFI、GPS定位小例子

转自一个网上项目,由于是例子打包下载,出处不详。例子中自我写入注释。Activity类:package com.maxtech.common;import com.maxtech.common.gps.GpsTask;import com.maxtech.common.gps.GpsTaskCallBack;import com.maxtech.common.gps.GpsTa…

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

全世界只有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() { …

php 新浪面试题,php程序员面试题(新浪篇)

新浪PHP工程笔试题1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名例如: http://www.sina.com.cn/abc/de/fg.php?id1 需要取出 php 或 .php2. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码格式,以…