当前位置: 首页 > news >正文

网站建设 连云港云主机建设网站

网站建设 连云港,云主机建设网站,重庆营销网站建设公司,网站自助建设平台百度目前在工业软件的UI开发方案选择中,WPF仍然是一个重要的选项。 但是其固有的复杂性,对于像我这样,并不是一直在从事界面开发的人来说,每次重启,都需要一两天的适应的时间。所以这里稍微写一个笔记。 还是老办法&…

目前在工业软件的UI开发方案选择中,WPF仍然是一个重要的选项。

但是其固有的复杂性,对于像我这样,并不是一直在从事界面开发的人来说,每次重启,都需要一两天的适应的时间。所以这里稍微写一个笔记。

还是老办法,学好一门技术的要点虽然很多,但大致可以简化为两步:一是基础的知识要扎实,这里的基础知识,不是说你要背熟这个相关的,而是对UI的理解,对软件开发的分工的理解。

1。 基础的UI设计哲学

(1)分工。WPF的初衷最大的来源是分工。界面的设计与 Control或序列化分离。即UI设计与程序员分离。理解这一点,是最最重要的,占75%的占比。也就是当你困惑,或都不清楚该如何选择时,都要重新到这个第一性原理这里重新思考。

(2)数据驱动。虽然我们日常的软件,往往是人为驱动。但工业软件往往相反,是数据驱动的,Monitor的时间,多于控制的时间。可以说,WPF是第一个专门在这个方向,做为设计初始目标的框架。

记住这两点,就基本上不会忘记WPF的选型要件。

2。 MVVM+datacontext

这二者其实是独立的,所以,原本应该写为三条。但也可以放在一起。data就是土壤,MV相关于土壤之下的部分,VM相当于上面的。Model-View-ViewModel 。

这里也有两点,一个是MVVM为什么要这样设计;另一个是datacontext.

这部分,每次大脑重载入时,是需要消耗一些时间的。

很重要的一个原因是,目前世界上,概念提出的多,工具开发得好的,几乎没有。微软的blend并没有实现哪怕1/10的设计目标。所以,是需要做类似本文的笔记,或者死记硬背。

(1)WPF与MVVM。要记住一点是,WPF,这三个字母的含义与MVVM没有半点关系。但是,客观来说,只要是稍微复杂一点的WPF程序,你必须用MVVM模式。

这是每次重新开始时,要重新理解的。

以往我们在MFC或者QT开发时,我们会人为加入一个MDP(这是我从华为开发L2 VPN时学到的),即消息分派中心,也就是发送方,不需要关注接收的窗口是否已被用户开启;MDP是一个大的多维矩阵(或者红黑树,B树)路由器,如果target并不存在(或者说没有到它这里注册:register),收到的消息,被吞掉,而不会调用接收方的trigger agent.

所以,如果仅仅用最基本的WPF的窗体,窗体之间的消息转发,很快你就会发现非常困难。这种困难,WPF并没有提供官方的解决方案,所以,一定要从最开始就选择MVVM模式。

或者说,WPF的Window模式,其实并不适用于工程。

它们的关系如下:

要注间我绘制的是示意图。主要是用于我自己的记忆。

我里我想强调的只有两点:一个数据的上行过程,即Model的改变,不需要通知VM,VM从INotifyPropertyChanged感知到哪些自己已注册的变量发生了变化。当然,实际上是Model触发的,但如果VM没有注册,那么就不会接收到。

第二点是DataContext的唯一性。虽然工程中,它是可以有许多个的,但我认为不需要。这是因为界面中的WPF  元素层层嵌套,一个Usercontrol嵌入另一个,即VIEW中的层次结构并不是model的hierarchy。Model侧,可以有许种类的对象,以及它们的hierarchy,但对应的上下文只需要一个。这是本文中最最重要的点。

3。 至于反方向,即从UI到model的方向的command或属性的绑定,这里不作描述了。因为我也不是很了解。

不这,这里有一个非常好的简单例程:

相关的代码:

https://download.csdn.net/download/haoyujie/89729611uicon-default.png?t=O83Ahttps://download.csdn.net/download/haoyujie/89729611

总结:如果只留一点要记下来的,就是DataContext是从属于主Window的,与MVVM无关。有且只有一个。是超然的存在。

http://www.yayakq.cn/news/487929/

相关文章:

  • 建设部网站如何下载文件乐山网站制作公司
  • 网站建设资金方案网站建设必会的软件
  • 开源php企业网站百度竞价排名系统
  • wordpress 获取当前分类名称seo推广公司招商
  • 阿里云有了域名 网站建设优设网设计师导航
  • 网站改版方案案例网站建设与优化计入什么科莫
  • 怎样上网站建设网站建设什么是静态网页
  • 免费网站模板怎么做网站wordpress在本地建站
  • 上海企业网站模板建站费用王建设个人网站
  • 网站开发招标技术规范书房地产公司 网站建设
  • php音乐网站设计开发一个app有多难
  • 华大集团 做网站网站优化月总结
  • 新的网站怎么推广网站所有页面
  • 手机怎么制作网站教程designspiration官网
  • 自己怎么做网站首页郑州手工外发加工网
  • 国内网站域名吗qq官方官网入口
  • 为什么我的电脑打开了第一个网站打开第二个网站就网络出问题了?软件工程4大证书
  • asp.net做的网站有源码帮忙搭建网站吗
  • 网站怎么做电脑系统可以做录音兼职的网站
  • 网站logo多大wordpress 页面403
  • 服装网站开发课程设计福州网站微信公众号
  • 厦门网站建设报价申请个人网站和企业官网有什么不同
  • 河南推广网站的公司淘宝网页制作模板
  • 新网站怎么运营驻马店市建设工程网站
  • 优秀网站例子wordpress supports
  • 专业网站建设费用包括wordpress cookie
  • 以个人名义可以做网站吗大连网页建站模板
  • 企业免费建站网站onedrive做网站下载盘
  • 教育类网站策划书手机网站建设 豆丁
  • 网站设计步骤包括傻瓜app制作开发