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

付费内容网站网站名称搜索不到

付费内容网站,网站名称搜索不到,个人免费网站注册,城阳做网站找哪家一、概述 MVVM 是 Model view viewModel 的简写。MVVM模式有助于将应用程序的业务和表示逻辑与用户界面清晰分离。 几个概念的说明#xff1a; model :数据#xff0c;界面中需要的数据#xff0c;最好不要加逻辑代码view : 视图就是用户看到的UI结构 xaml 文件viewModel …一、概述 MVVM 是 Model view viewModel 的简写。MVVM模式有助于将应用程序的业务和表示逻辑与用户界面清晰分离。 几个概念的说明 model :数据界面中需要的数据最好不要加逻辑代码view : 视图就是用户看到的UI结构 xaml 文件viewModel : 业务逻辑代码绑定器声明性数据和命令绑定隐含在MVVM模式中。 使用MVVM模式并不会减少代码量反而会增加很多代码。MVVM设计模式的根本目的是把界面和业务逻辑分离。 WPF的依赖属性数据绑定等机制很好地帮助我们实现MVVM模式基本可以做到在界面层不出现业务逻辑代码。 二、mvvm 的实现 首先新建 views models viewModels文件夹用于存放不同模型 以简单的加法操作为例。 因为使用mvvm模式后数据都是c#后端代码提供前端使用后端的数据只能通过值绑定的方式同时如果后端业务逻辑导致数据改动那么就需要后端去将这一改动通知到前端去。 前端绑定值通过 {Binding 数据名} 的方式去绑定。前端绑定事件的话需要在viewModel层实现 Icommand 接口以提供命令绑定事件 前端通过 {Binding 数据名}后端通知前端数据修改则需要实现一个 INotifyPropertyChanged 的接口通过该接口中的 PropertyChangedEventArgs(“监听的业务操作名称”)去通知给前端。 一Command类 实现命令接口 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input;namespace WpfMvvM {public class Command : ICommand{public event EventHandler CanExecuteChanged;public bool CanExecute(object parameter){return true;}public void Execute(object parameter){DoExecute?.Invoke();}public Action DoExecute { get; set; }} } 二model层 model层即数据层 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks;namespace WpfMvvM.Models {public class AddModule:INotifyPropertyChanged // 实现INotifyPropertyChanged接口{public event PropertyChangedEventHandler PropertyChanged;public int Num1 { get; set; } 10;public int Num2 { get; set; } 20;private int _Rs;public int Rs{get { return _Rs; }set { _Rs value;// 事件委托通知 new PropertyChangedEventArgs(xx) xx为数据属性名PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(Rs));}}public Command BtnCommand { get; set; } // 命令属性} }三ViewModel 层 viewModel层用来进行业务处理操控model层的数据将model层注入为其属性 using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using WpfMvvM.Models;namespace WpfMvvM.ViewModels {public class AddViewModel{// model 层数据注入public AddModule Model { get; set; } new AddModule();// 空构造器为model层绑定命令及事件通知public AddViewModel(){Model.BtnCommand new Command();Model.BtnCommand.DoExecutenew Action(Add);}// 业务逻辑方法 加法private void Add(){Model.Rs Model.Num1 Model.Num2;}} }四view 层 view层 xaml部分 Window.ResourcesStyle TargetTypeTextBlockSetter PropertyHorizontalAlignment ValueCenter/Setter PropertyVerticalAlignment ValueCenter/Setter PropertyFontSize Value33//StyleStyle TargetTypeTextBoxSetter PropertyHorizontalAlignment ValueCenter/Setter PropertyVerticalAlignment ValueCenter/Setter PropertyFontSize Value33/Setter PropertyWidth Value300//StyleStyle TargetTypeButtonSetter PropertyHorizontalAlignment ValueCenter/Setter PropertyVerticalAlignment ValueCenter/Setter PropertyFontSize Value33//Style /Window.Resources Grid ShowGridLinesTrueGrid.RowDefinitionsRowDefinition/RowDefinition/RowDefinition/RowDefinition//Grid.RowDefinitionsGrid.ColumnDefinitionsColumnDefinition Width1*/ColumnDefinition Width2*//Grid.ColumnDefinitionsTextBlock Text数字1 Grid.Row0 Grid.Column0/TextBlock Text数字2 Grid.Row1 Grid.Column0/TextBlock Text操作 Grid.Row2 Grid.Column0/TextBlock Text结果 Grid.Row3 Grid.Column0/TextBox Text{Binding Model.Num1} Grid.Row0 Grid.Column1/TextBox Text{Binding Model.Num2} Grid.Row1 Grid.Column1/Button Content加法 Command{Binding Model.BtnCommand} Grid.Row2 Grid.Column1 Width300/TextBox Text{Binding Model.Rs} Grid.Row3 Grid.Column1//Gridview层 cs部分 namespace WpfMvvM.views {/// summary/// AddView.xaml 的交互逻辑/// /summarypublic partial class AddView : Window{public AddView(){InitializeComponent();// 设置当前窗体的数据上下文 为 AddViewModel 模型this.DataContext new AddViewModel();}} }view层的Cs代码部分几乎为空只写了当前的数据上下文环境为 ViewModel 模型。 点击按钮后触发同时结果数据进行更新
http://www.dnsts.com.cn/news/41360.html

相关文章:

  • wordpress模仿app启动广告屏弹窗百度seo优化策略
  • 安平网站建设培训本地房产交易信息网
  • 查看网站是哪家做的怎么看鞍山网站制作公司
  • 集团企业网站建设方案策划书动态背景设置网站
  • 手机网站的必要性做论坛网站时应该注意什么
  • 网站关键词堆砌网络设计师干什么的
  • 网站建设意义夏津网站开发
  • 做网站的职责域名注册商平台
  • 网站开发 集成包网站域名怎么查
  • 个人网站每年要多少钱在深圳做网站平台需要什么备案
  • 产品销售型的网站在线图片制作工具
  • 婚礼网站怎么做网站建设与维护里面的个人简历
  • 中国建设银行三峡分行网站深圳app网站建设
  • 用vs做html网站番禺人才招聘网官网
  • 网站建设费用 做个网站要多少钱手机制作图片软件
  • 深圳信科做网站网站空间那个好
  • wordpress绑定网站网站建设方面的书籍
  • 不备案 国内网站网页制作全过程视频
  • 高端建站网站里的动态是如何制作
  • 网站建设需要哪些成本长沙人才app
  • 手机网站开发书籍微信工作平台开发
  • 网站建设 APP开发销售怎么做seo发帖软件
  • 网站seo基础优化wordpress文章目录页面
  • 建设银行的官方网站电话苏州苏网建设公司在建工程
  • 手机网站域名高端建站公司源码
  • 中仑建设网站网易企业邮箱入口 官网
  • 不良网站正能量免费下载免费学编程网站
  • 揭秘低价网站建设危害高校档案馆网站建设
  • 常熟高端网站建设app制作费用清单
  • 网站下载视频的方法成都网站制作长沙