搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Guff_9hys
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
seq2seq and attention 入门并在tensorflow中使用
2
Windows下彻底删除SQL Server 2012_sql2012无法卸载
3
用于序列建模的深度学习:使用 Tensorflow 生成文本_python tensorflow生成自然文本
4
2021年危险化学品经营单位安全管理人员考试试卷及危险化学品经营单位安全管理人员模拟考试题_类物品库房对还是错
5
Ubuntu 20.04-NVIDIA显卡驱动-安装和卸载-解决黑屏问题_ubuntu卸载显卡驱动
6
云电脑:运行原理与自行搭建指南_云电脑源码搭建
7
smartgit30天试用期过了如何破解?_smartpls试用到期后,原来的数据
8
(java毕业设计源码)基于ssm线上花店管理系统获取
9
【git】使用git命令更新最新代码以及将本地代码上传到远程仓库_git命令行更新代码到代码仓库
10
48天C++笔试强训 001_笔试强训48天
当前位置:
article
> 正文
[WPF初学]基于WPF框架的MVVM模式简介_wpf mvvm
作者:Guff_9hys | 2024-07-11 08:25:12
赞
踩
wpf mvvm
微软的WPF带来了新的技术体验,如Sliverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性揉合进去,以应对客户日益复杂的需求变化。
WPF的数据绑定与Presentation Model相结合是非常好的做法,使得开发人员可以将View和逻辑分离出来,但这种数据绑定技术非常简单实用,也是WPF所特有的,所以我们又称之为Model-View-ViewModel(MVVM)。而基于PresentationModel的MVP和基于ViewModel的MVVM形式上一个主要区别在于:
前者的PresentationModel里一般要注入一个IView实例,当然目的是解耦,但也给人留下一个余地,也就是说在没有更好办法做binding的时候,可以调用IView直接操作界面来做事,当然是比较灵活的,而且基于接口依赖的UI与业务逻辑的分离也是不错的,但这需要维护View和PresentationModel之间的双向引用,而且代码(尤其是View的代码)看起来就不那么简洁了,因为即使是依赖于接口,也是依赖,总不如没有依赖要好;
而后者(MVVM)的一个主要特征是:完全通过binding机制,由ViewModel指示UI如何做变更,同时用户与ViewModel的交互通过Command来实现,这样只需要View指导ViewModel即可,而ViewModel完全不必关心View暴露出什么样的接口和操作,它只需要提供属性(要绑定的数据和Command)并实现INotifyPropertyChanged即可,少了一个方向的依赖,代码自然更简洁清晰。
注:内容来自于网络。
http://blog.163.com/lvan100@yeah/blog/static/681172142011111855923151/?suggestedreading&wumii
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Guff_9hys/article/detail/809358?site
推荐阅读
article
爱星
物联
——
设备
运行情况和
故障
排查
初探...
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。技术支持:support@ai...
赞
踩
article
Android
使用
CountDownTimer
实现定时任务_
android
countdownti...
本篇博客将介绍如何使用
CountDownTimer
定时器类来实现诸如定时网络请求、验证码倒计时重新发送等定时任务_and...
赞
踩
article
AI
提示词:打造
爆款
标题
生成器
...
这里用的是chatGPT,但你们如果有Claude,有通义千问等等,也可以进行测试看看,还有kimi、文心一言、字节豆包...
赞
踩
article
主要的非
关系
型
数据
库
_非
关系
型
数据
库
修改
数据
...
Hbase列式存储以流的方式在列中存储所有的
数据
。对于任何记录,索引都可以快速地获取列上的
数据
;列式存储支持行检索,但这...
赞
踩
article
客户端
访问
服务器
原理(以
百度
为例
详细
说明)_
客户端
访问
服务器
详细
过程
...
百度
客户端
访问
服务器
的
过程
涉及多个步骤,从用户输入查询、DNS解析、建立连接、发送请求、
服务器
处理、生成响应到
客户端
接收...
赞
踩
article
Android
Studio
新建
一个
flutter
项目
(超级详细,快来学习吧~个人原创!)_andr...
1.点击创建
flutter
项目
2.3.4.5.现在要去把虚拟机搞起来~6.我已经有一个虚拟机了,现在演示一下
新建
一个哦7...
赞
踩
article
产品
经理
面试
1_手机
产品
经理
面试
...
如何理解
产品
经理
这个岗位的? 为什么要学习
产品
经理
?
产品
经理
是具有多方面能力且突出的的一个
产品
管理者兼资源整合者;
产品
经...
赞
踩
article
windows
server
-域管理员
修改
密码
_
修改
ad
域下
ad
ministrator
账户
密码
...
域管理员
修改
密码
_
修改
ad
域下
ad
ministrator
账户
密码
修改
ad
域下
ad
ministrator
账户
密码
...
赞
踩
article
SpringBoot
项目
Jar 包
加密
,防止
反编译
_
fclassfinal
-
fatjar
...
给客户部署
项目
,又不想将源码泄露出去。要求对正式环境的包进行安全性处理,防止客户直接通过
反编译
工具将代码
反编译
出来。_f...
赞
踩
article
如何
用
人工智能
帮
你
找
论文
?...
传统的关键词检索
论文
,浩如烟海的结果让
你
无所适从?试试
人工智能
检索引擎。根据
你
的研究兴趣和偏好,便捷而靠谱帮
你
找
论文
。i...
赞
踩
article
MyBatis
入门学习二(
配置文件
、
mapper
文件、动态
SQL
)_动态配置
mybatis
的mapp...
MyBatis
的强大特性之一便是它的动态
SQL
能力。当有多条件查询或操作时
SQL
语句的拼接是比较麻烦的事情并且拼接...
赞
踩
article
OpenCV
车牌
检测
...
级联分类器采用的卷积核列表是经过事先标识和筛选的,只有当多数卷积核都对目标进行了正确分类时,才会给出良好的分类得分。本节...
赞
踩
article
Web3
知识
图谱
,
一篇读完...
这张图展示了区块链生态系统的复杂性和多样性
,
各种技术和项目相互关联
,
共同构建了一个庞大的去中心化网络。这张图展示了区块链...
赞
踩
article
Windows11
家庭版安装
docker
踩坑指南_
win11
docker
desktop
wsl
...
因为
docker
需要安装在
wsl
2
wsl
2又需要Hyper-V的支持,我之前因为Hyper-V没有搞好一直卡在
wsl
2...
赞
踩
article
强大
的
Android
计时器
:
Interval
—
—
让时间
管理
更加精准便捷!...
强大
的
Android
计时器
:
Interval
—
—
让时间
管理
更加精准便捷!项目地址:https://gitcode.com...
赞
踩
article
showToast
提示
_
andiroshowtoast
需要确定...
_
andiroshowtoast
需要确定
andiroshowtoast
需要确定 &nb...
赞
踩
article
【一小时学会
Charles
抓包
详细教程】
Charles
移动
端
APP
抓包
之
iOS
手机
端
数据提取实战篇 ...
今天我让你当一次黑客!_
charles
手机
抓包
charles
手机
抓包
...
赞
踩
article
【
Ra
-
09
】
二次开发
环境
搭建以及固件
烧录
说明
...
二次开发
环境
搭建以及固件
烧录
说明
【
Ra
-
09
】
二次开发
环境
搭建以及固件
烧录
说明
...
赞
踩
article
顺丰
科技
面试
...
面了
顺丰
科技,被
面试
官各种鄙视。主要是java不懂。有一些基础的,被小宇也称为
面试
必问的,可是自己好久没接触了。都完全答...
赞
踩
article
如何
用
Java
写
一个
整理
Java
方法
调
用
关系
网络的程序...
最近遇到了
一个
问题,大致是这样的:如果给你
一个
java
方法
,如何找到有哪些菜单在使
用
。我的第一想法是,这不很简单吗?...
赞
踩
相关标签
安信可
物联网
iot
功能测试
爱星物联
android
java
android studio
人工智能
Hbase
数据库
非关系型数据库
Redis
MongoDB
服务器
百度
运维
flutter
windows
jar
安全
python
mybatis
后端