Prism应用开发(四)——MVVM模式基础

该博客探讨了MVVM模式在Prism框架中的应用。View负责UI和UI逻辑,通过DataContext绑定到View Model。View Model封装presentation逻辑,提供properties和commands,使用change notification events更新视图。Model则封装业务逻辑和数据,不直接引用视图组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在MVVM模式中,View封装UI和UI逻辑,viewmodel封装presentation逻辑,model封装业务逻辑和数据。


View类

View的责任是定义屏幕上的结构和外观,在完美的情况下,view的code behind只包含一个调用InitializeComponent的构造函数,但是通常情况下,code behind会包含XAML标签难以表达的UI逻辑代码,所谓UI逻辑代码是指跟显示行为相关而不包含任何其它逻辑的代码,例如:复杂动画或者直接操纵view中可视化元素的代码,

view通过数据绑定与它的数据上下文交互,在MVVM模式中,view的数据上下文被置于viewmodel中,viewmodel实现了view数据绑定所需要的properties和commands,同时通过change notification events通知视图其状态的变化。view跟viewmodel的典型关系是1对1。

总结一下,view具有以下特性:

  • view是一个可视化元素,例如window、page、user control、view定义了包含在其中的控件以及这些控件的布局和样式。
  • view通过DataContext属性引用它的view model,view中的控件绑定到view model中的property和command。
  • view可以定制和view model绑定的行为,例如,view可以使用converter格式化显示在UI上的数据,也可以使用validation rules对用户的输入进行验证。
  • view可以定义和处理UI可视化的行为,例如由viewmodel中状态变化或者用户交互引起的动画或者变换。
  • view的code behind可以定义UI逻辑来实现XAML难以表达的可视化行为或者直接操纵v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值