2020-09-05

WPF初识(一)

最近经历了原公司的变动,回老家呆了两个月,回到深圳要开始一段新的工作旅程了。最近找工作的时候发现不少.Net的工作是关于WPF客户端的,就又重新买了本刘铁锰大神的WPF的书,之所以说重新,因为从原公司离开的时候把两本WPF的书送给同事了。

但是学了一部分以后发现WPF真的还是很不错的一项技术,暂且不讨论.NET的生态(生态跟技术的优劣不能完全划等号)。微软算是比较早提出MVVM思想的框架。爱了爱了。

今天就暂且把自己看过的内容的一部分做个记录,为自己做一个阶段的总结吧。现在的工作中可能用不到WPF,以后也可能用不到。

 

以下描述仅限于个人最近来自B站刘铁猛的视频资料和关于他的WPF书籍的一些整理,欢迎指正。如后续有其它心得就随时整理。

我们先从一个简单的demo谈起.

当我们创建一个WPF程序后,会有一个文件MainWindow.xaml和它对应的代码后置文件.我们先从这两个文件说起.

Mainwindow.xaml:当程序启动时依托于App.xaml来加载Mainwindow.xaml来执行

对应的后端代码类MainWindow.xaml.cs

 WPF中的MVVM

我们主要通过一个简单地demo去体验一下WPF的MVVM.

通过MVVM我们可以实现前端和后端的解耦.也可以更方便的切换前端的UI而不需要更改后台代码。

首先放上代码的demo,如果感兴趣可以任意下载.

链接:https://pan.baidu.com/s/1RIX6gcUCVCNGqi7vdX5SIg
提取码:1314

目录结构如下,因为我们这个例子只是一个demo,Model和View文件夹并没有内容,我们只是为了简单说明MVVM.

程序运行结果呈现是这样的:

其中AddCommand和DivideCommand是属于我们自定义的一个类型DelegateCommand,这个类型最主要是我们继承了一个ICommand接口并实现Execute方法.以便实现按钮的点击事件.

三个数据属性在页面值发生变化时会触发RaisePropertyChange方法,该方法在我们的自定义类NoticeObject中,该类继承自接口INotifyPropertyChange,并含有一个事件属性PropertyChanged,实现数据的双向绑定实际上就是通过此事件来通知Binding实现.

最后我们就可以在利用组件的属性设置数据的双向绑定,和响应的触发操作.

 

 然后如果想让前后端属性关联起来,我们必须制定一个上下文,即这些属性和操作去匹配的位置.

 夜已深,年纪大了实在熬不动夜了,疫情也导致了上半年的养肥增膘.需要开启锻炼计划了。后续会再整理之前看过的另一个更复杂的WPF的例子以及一些其它资料.

WPF初识(一)Wish星耀 2017春季卖家峰会乐宝lastpass【重要通知】Lazada跨境商家运营规则的临时调整不只是其他平台的大促影响Wish店铺流量,还有这些因素!亚马逊安全刷单内幕,这样刷单不再怕!慎用!亚马逊社交媒体促销,亚马逊站内促销设置避坑指南海外平台医疗政策最全整理!爆款口罩还能不能卖?

No comments:

Post a Comment