首页 > 其他分享 >一款WPF的精简版MVVM框架——stylet框架(MVVM绑定、依赖注入等)

一款WPF的精简版MVVM框架——stylet框架(MVVM绑定、依赖注入等)

时间:2024-06-04 21:36:01浏览次数:28  
标签:Bootstrapper 里面 MVVM 框架 stylet ViewModel 启动项 精简版

今天偶然知道一款叫做stylet的MVVM框架,挺小巧的,特别是它的命令触发方式,简单粗暴,让人感觉很巴适,现在我做一个简单的demo来顺便来分享给大家。 本地创建一个WPF项目,此处我使用.NET 8来创建。然后引用stylet最新的nuget包。 0   然后删掉App.xaml里面自带的启动项 0 删掉以后: 0   stylet使用View和ViewModel强制性一一对应的关系,比如说,页面A,必须要写成AView和AViewModel的形式,才能识别。所以默认的MainWindow咱们可以干掉,重新创建一个页面,例如 MainView:   0 再创建一个对应的ViewModel类。它的ViewModel类型,需要继承自Stylet.Screen 0 然后需要创建一个启动项,默认类名称为 Bootstrapper,它继承自Bootstrapper,T指的是启动项对应的ViewModel。启动项Bootstrapper里面还要重写IOC容器进行服务注册等有关。 0 在App.xaml.cs文件内,提供对启动项Bootstrapper的声明和使用。 0 如果以上步骤都没做错的话,那么现在应该是可以正常启动了。 0   接下来,MVVM的实现,先搞2个简单的控件,一个提供属性MVVM实现,一个提供点击Command命令实现。需要注意的是,stylet的Command命令或者其他自定义命令实现,不是直接Bingding了,而是使用Action来绑定。 0 ViewModel里面,看下具体代码,和平常大家使用的MVVM双向绑定,有点差异大地方,我圈起来了。 0 启动程序,原始效果如下所示 0 点击按钮以后,自动进入到指定的方法里面,把Message值改变,同时前端展示的值也跟着变了。 0 接下来说一下它的IOC容器来实现依赖注入。先创建一个测试用的服务类,里面就一个方法,获取消息,返回“Stylet 服务注入~ ”字符串。 0 启动项的ConfigureIoC方法里面,提供服务的注册。不过它自带的IOC容器可选生命周期比较有限,没有prism或者castle或者asp.netcore自带的容器丰富。不过注册的写法看起来很直观,builder.Bind<接口>().To<实现>().生命周期模式。 0 通过构造函数注入进来,然后在命令方法里面直接调用,并把返回值提供给Message用于展示。 0 运行程序,并点击按钮,可以看到返回了GetMessage()里面返回的信息,说明服务注册和注入使用是成功的。 0 如果有需要以上demo源码,可以在我个人公众号【Dotnet Dancer】后台回复 【stylet】即可获取。

 

2024-06-04 21:21:24【出处】:https://www.cnblogs.com/weskynet/p/18231667

=======================================================================================

标签:Bootstrapper,里面,MVVM,框架,stylet,ViewModel,启动项,精简版
From: https://www.cnblogs.com/mq0036/p/18231786

相关文章

  • 一款WPF的精简版MVVM框架——stylet框架的初体验(包括MVVM绑定、依赖注入等操作)
    今天偶然知道一款叫做stylet的MVVM框架,挺小巧的,特别是它的命令触发方式,简单粗暴,让人感觉很巴适,现在我做一个简单的demo来顺便来分享给大家。本地创建一个WPF项目,此处我使用.NET8来创建。然后引用stylet最新的nuget包。 然后删掉App.xaml里面自带的启动项删掉以后: styl......
  • Spring-MVC注解支持Ant风格的模糊匹配和Restful风格的接收数据------Spring-MVC框架
    packagecom.alatus.mvc3.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestMapping;@ControllerpublicclassIndexController{......
  • 联邦学习框架VeryFL
    一、介绍VeryFL(Variable-FidelityLearning)是一种联邦学习框架。联邦学习是一种分布式机器学习方法,其中许多参与者(例如移动设备或边缘设备)共同训练一个全局模型,而不需要将他们的数据上传到中央服务器。与传统的集中式方法相比,联邦学习具有更高的隐私性和安全性。VeryFL框架的......
  • Bootstrap框架
    原文链接:https://blog.csdn.net/2301_80068547/article/details/134619359一、Bootstrap简介Bootstrap来自Twitter(推特),是目前最受欢迎的前端框架。Bootstrap是基于HTML、CSS和JavaScript的,它简洁灵活,使得Web开发更加快捷。中文官网:https://www.bootcss.com/官网:http......
  • 前端开发框架发展概览
    本文分享自天翼云开发者社区《前端开发框架发展概览》,作者:张****亮随着互联网技术的不断发展,Web应用程序的复杂性也在不断增加。前端开发框架也在不断地进化。早期,jQuery作为一种常用的JavaScript库,被广泛应用于网页开发。但是,随着Web应用程序复杂性的增加,jQuery的维护和扩展变......
  • 大模型应用框架-LangChain
    LangChain的介绍和入门......
  • Bootstrap框架最新V5 快速入门&直通
    目录Bootstrap-前言Bootstrap-下载Bootstrap-使用Bootstrap-学习Bootstrap-栅格系统Bootstrap-全局样式Bootstrap-组件(Coponents)Bootstrap-字体图标Bootstrap-前言        Bootstrap是由Twitter公司开发维护的前端UI框架,它提供了大量编......
  • 嵌入式Linux中内核模块的基本框架
    在Linux系统中,驱动程序属于内核态程序,可以认为它是介于操作系统和硬件实体之间的一层,对上负责与操作系统交流,对下负责控制硬件设备。即,驱动程序对操作系统通过软件接口进行沟通,对芯片硬件通过读写寄存器进行控制。Linux系统的驱动由内核模块(LoadableKernelModule,简称LKM)的形式......
  • 【测试开发】api开发神器-第1篇-magic-api后端低代码框架
    #Magic-api介绍(低代码后端框架) magic-api是一个基于Java的接口快速开发框架。使用magic-api,彻底摆脱手动编写繁杂的Controller、Service、Dao、Mapper、XML、VO等Java对象,而是通过在线可视化UI界面,在线编写接口(动态脚本,即写即用)。通过magic-api,我们可以快速而轻松......
  • ABP框架中的仓储的方法
    在ABP框架中,仓储(Repository)是用于管理实体数据存储和访问的核心组件。ABP框架提供了一个通用的仓储接口IRepository,该接口定义了用于处理实体的常用方法。下面是IRepository接口中的所有方法,这些方法可以用于执行各种CRUD(创建、读取、更新、删除)操作。IRepository<T,TKey>......