当前位置: 首页 > news >正文

手机微网站价前端页面设计网站

手机微网站价,前端页面设计网站,福州医社保增减员在什么网站做,wordpress编辑器知乎01—前言Caliburn.Micro(简称CM)一经推出便备受推崇#xff0c;作为一款MVVM开发模式的经典框架#xff0c;越来越多的受到wpf开发者的青睐.我们看一下官方的描述#xff1a;Caliburn是一个为Xaml平台设计的小型但功能强大的框架。Micro实现了各种UI模式#xff0c;用于解决…01—前言        Caliburn.Micro(简称CM)一经推出便备受推崇作为一款MVVM开发模式的经典框架越来越多的受到wpf开发者的青睐.我们看一下官方的描述Caliburn是一个为Xaml平台设计的小型但功能强大的框架。Micro实现了各种UI模式用于解决实际问题。突出显示的模式包括MVVM表示模型、MVP和MVC。目前CM框架还不不停的开发和迭代中目前最新版本4.0.212推出于2022年8月27日已经可以支持.NET7。02—项目介绍解决方案由四个项目组成见下图HelloWorld框架的搭建、容器注入相关HelloWorld.Core放置数据模型即mvvm中的MHelloWorld.ViewModels模型视图即VM;HelloWorld.Views:V,即视图.项目基于.NET5开发CM框架版本4.0.212运行结果显示03—代码展示和讲解① 首先是HelloWorld讲解这里启动代码Startup.CSpublic class Startup : BootstrapperBase{SimpleContainer _container;public Startup(){Initialize();}protected override void Configure(){_container new SimpleContainer().SingletonIWindowManager, WindowManager().SingletonIEventAggregator, EventAggregator();foreach (var asm in SelectAssemblies()){foreach (var vm in asm.GetTypes()){if (vm.Name.EndsWith(VM)){_container.RegisterPerRequest(vm, null, vm);}}}var myRule new TypeMappingConfiguration{ViewModelSuffix VM,ViewSuffixList new() { }};ViewLocator.ConfigureTypeMappings(myRule);ViewModelLocator.ConfigureTypeMappings(myRule);}protected override void OnStartup(object sender, StartupEventArgs e){base.OnStartup(sender, e);DisplayRootViewForAsyncIndexVM();}protected override IEnumerableAssembly SelectAssemblies(){return new ListAssembly{Assembly.Load(HelloWorld),Assembly.Load(HelloWorld.Views),Assembly.Load(HelloWorld.ViewModels),};}protected override object GetInstance(Type service, string key){return _container.GetInstance(service, key);}}这里容器采用了CM自带的SimpleContainer开始先把窗口管理器和事件聚合器注册到了容器中_container new SimpleContainer().SingletonIWindowManager, WindowManager().SingletonIEventAggregator, EventAggregator();然后通过反射把下面三个程序集Assembly.Load(HelloWorld),Assembly.Load(HelloWorld.Views),Assembly.Load(HelloWorld.ViewModels),中vm结尾的视图模型文件注册到容器foreach (var asm in SelectAssemblies()){foreach (var vm in asm.GetTypes()){if (vm.Name.EndsWith(VM)){_container.RegisterPerRequest(vm, null, vm);}}}接下来是自定义了一套CM的VM和V的匹配规则默认情况CM的匹配规则是视图以View结尾视图模型以ViewModel结尾这里的规则是VM以VM结尾View只要前缀和Viewmodel的一致就可以var myRule new TypeMappingConfiguration{ViewModelSuffix VM,ViewSuffixList new() { }};ViewLocator.ConfigureTypeMappings(myRule);ViewModelLocator.ConfigureTypeMappings(myRule);②HelloWorld.Views这里放的是视图代码很简单不展开了比较新颖的用法是它通过load函数接在view的cal:Message.Attach[Event Loaded][Loaded($view,$eventArgs)]public void Loaded(UserControl control, RoutedEventArgs event){Debug.WriteLine(control);Debug.WriteLine(event);}③ HelloWorld.ViewModels视图模型LoginVM.cs这是登录窗体的后台逻辑点击登录后发送背景线程异步事件更新进度条public async Task DoLogin(){await _eventAggregator.PublishOnBackgroundThreadAsync(new BusyMessage(true));await Task.Delay(1000);MessageBox.Show(Test Login Success);await _eventAggregator.PublishOnBackgroundThreadAsync(new BusyMessage(false));}IndexVM.cs继承IHandleBusyMessage接收事件更新进度条public Task HandleAsync(BusyMessage message, CancellationToken cancellationToken){if (message.IsBusy){BarValue 50;}else{BarValue 0;}return Task.CompletedTask;}通过ioc容器获取VM: public LoginVM LoginVM { get; set; } IoC.GetLoginVM();public LoginVM LoginVM { get; set; } IoC.GetLoginVM();public TableVM TableVM { get; set; } IoC.GetTableVM();TableVM.cs:数据集合定义  public ObservableCollectionFoo Data { get; set; }开线程更新集合数据用 await Task.Delay(1000);演示一秒Task.Run(async () {while (true){if (IsShow){_data.Add(new Foo{Id Guid.NewGuid(),Name John new Random().Next(1, 100),School 上海大学});Data new ObservableCollectionFoo(_data);}await Task.Delay(1000);}}); [AddINotifyPropertyChangedInterface]来源于可以自动通知界面数据更新。04—源码下载及声明声明首先感谢群友提供源码需要和源码提供者本人直面交流的可以通过邮箱xingrui_zhuangasiasymbol.com 联系.源码百度网盘链接链接https://pan.baidu.com/s/1BHkVEFWHwGQf6EwHpWCBKw 提取码6666 技术群添加小编微信并备注进群小编微信mm1552923 公众号dotNet编程大全
http://www.zqtcl.cn/news/472306/

相关文章:

  • 高端 网站设计公司wordpress添加投稿功能
  • 长沙 网站设计 公司价格江苏专业网站建设费用
  • 做的好的手机网站有哪些内容手机怎么做app详细步骤
  • net网站开发参考文献c++能不能作为网页开发语言
  • 我公司让别人做网站了怎么办厦门logo设计公司
  • 闸北专业做网站怎么判断网站优化过度
  • 搭建网站seowordpress重新安装如何做
  • 网站设计优化重庆教育建设有限公司网站
  • 域名注册网站查询手工制作视频教程简单又漂亮
  • 书画院网站源码网站百度指数
  • 网页设计与网站开发第三版课后答案网络运营商是干嘛的
  • wordpress分类目录网站主题自己做营销型网站
  • 简述网站推广的五要素seo排名软件怎么做
  • 做网站能做职业吗织梦如何做几种语言的网站
  • 手机网站定制咨询如何修改网站
  • 长沙大型网站建设公司建站工作室源码
  • 找设计方案的网站专注南昌网站建设
  • UE做的比较好的网站汕头网站关键词优化教程
  • 做羞羞的事情网站广州番禺招聘网最新招聘信息
  • 网站基础开发成本网站建设策划包括哪些内容
  • 商务网站建设哪家好绍兴网站建设做网站
  • 网站域名管理东莞网页设计和网页制作
  • 网站建设与制作报价网站app制作
  • 下载可以做动漫的我的世界视频网站长沙网站seo技巧
  • 汕头网站制作推荐制作影视视频的软件
  • 定制程序网站宁波英文网站建设
  • 安康公司做网站网页设计怎么设计
  • 小型企业网站系统南京seo外包平台
  • 曲靖网站制作邢台网站制作那家便宜
  • wordpress中portfolio重庆网站seo按天计费