首页 > 其他分享 >循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(1)

循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(1)

时间:2023-09-08 16:25:30浏览次数:34  
标签:基于 CommunityToolkit 框架 Mvvm -- 开发 HandyControl 循序渐进 SqlSugar

在我们的SqlSugar的开发框架中,整合了Winform端、Vue3+ElementPlus的前端、以及基于UniApp+Vue+ThorUI的移动前端几个前端处理,基本上覆盖了我们日常的应用模式了,本篇随笔进一步介绍前端应用的领域,研究集成WPF的应用端,循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发。

1、基于CommunityToolkit.Mvvm开发WPF应用

MVVM是Model-View-ViewModel的简写。类似于目前比较流行的MVC、MVP设计模式,主要目的是为了分离视图(View)和模型(Model)的耦合。
它是一种极度优秀的设计模式,但并非框架级别的东西,由MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构。

 MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点
1. 低耦合:视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
2. 可重用性:可以把一些视图逻辑放在一个ViewModel里面,让很多View重用这段视图逻辑。
3. 独立开发:开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xml代码。
4. 可测试:界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。

CommunityToolkit.Mvvm  (又名 MVVM 工具包,以前名为 Microsoft.Toolkit.Mvvm) 是一个现代、快速且模块化的 MVVM 库。 它是 .NET 社区工具包的一部分,围绕以下原则构建:

相关文章

  • PrismMVVM功能实现(通知、命令)
    常见的MVVM框架,基本围绕ICommand、INotifyPropertyChanged的封装实现绑定、通知等功能;而对于不同框架,在实现相同功能上,只是表现的形式有所不同,下图列举几种常见框架的功能区别:功能\框架PrismMVVMLightMicorsoft.Tookit.Mvvm通知BindableBaseViewModelBaseObservableO......
  • MAUI学习之始--数据绑定,命令绑定 MVVM
    MVVMMVVM(model-view-view-model)模型之前在刚开始学Xamarin的时候,都是把页面的的表示文件(.xaml)和页面中的命令写在一起。一开始只有一两个页面还好,因为每个页面之间的联系都不是特别多,我们还能看得过来。修改的时候也还好,就想改哪里点哪里。但是奥!但是!当我们页面......
  • 深入理解MVVM架构模式
    MVVM原理MVVM是一种用于构建用户界面的软件架构模式,它的名称代表着三个组成部分:Model(模型)、View(视图)和ViewModel(视图模型)。MVVM的主要目标是将应用程序的UI与其底层数据模型分离,通过数据绑定实现数据和UI的自动同步,从而降低代码的耦合度,提高应用程序的可维护性和可测试性。MVVM框架......
  • [WPF]WPF中MVVM模式按下ESC键退出窗口
    首先在XAML中定义监听按键<Window.InputBindings><KeyBindingKey="Esc"Command="{BindingCloseWindowCommand}"CommandParameter="{BindingRelativeSource={RelativeSourceFindAncestor,Ancest......
  • WPF如何构建MVVM+Prism+HandyControl ,模块化的桌面应用
    为何模块化模块化是一种分治思想,不仅可以分离复杂的业务逻辑,还可以进行不同任务的分工。模块与模块之间相互独立,从而构建一种松耦合的应用程序,便于开发和维护。开发技术.Net6+WPF+Prism(v8.0.0.1909)+HandyControl(v3.4.0)知识准备什么是MVVMModel-View-ViewModel......
  • WPF如何构建MVVM+模块化的桌面应用
    为何模块化模块化是一种分治思想,不仅可以分离复杂的业务逻辑,还可以进行不同任务的分工。模块与模块之间相互独立,从而构建一种松耦合的应用程序,便于开发和维护。开发技术.Net6+WPF+Prism(v8.0.0.1909)+HandyControl(v3.4.0)知识准备什么是MVVMModel-View-ViewModel......
  • WPF 入门笔记 - 07 - MVVM示例
    滴咚,大家好久不见......
  • 5MVVM架构风格
    MVVM由V(视图) VM(视图模型)  M(模型) 三层构成。其最核心的特征是完成数据的双向绑定。视图和模型只需要完成自身功能,而它们之间的交互是通过规则自动完成,如映射的关系视图模型等。 ......
  • MVVM --- 实现多层级通知
    引言在实际开发场景中,当ViewModel内的一个属性是一个ObservableCollection<T>或者是一个多层级class的时候,有可能有的需求需要ObservableCollection<T>内的元素的子属性或多层级class的子属性,甚至子属性的子属性,变化,需要通知到ViewModel,该怎么做呢?例如我有一个设置功能模......
  • android mvvm实例解析
    MVVM架构,将整个应用分为三层,View层,VM层,Model层。其中View层单向引用VM层,VM层单向引用Model层。如上图。单向引用,而非双向引用,这是MVVM与MVP最大的区别。View层,只是单向引用VM层,VM层不需要引用View层,但是却可以更新View层。这是通过VM层的观察者模式实现的,在这里使用架构组件Liv......