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

网站空间控制面板爱战网关键词查询网站

网站空间控制面板,爱战网关键词查询网站,jquery 打开新网站,网站背景怎么换一、概述 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.yutouwan.com/news/191934/

相关文章:

  • 百度自动驾驶技术南昌seo推广外包
  • 中国建设银行网站怎么登录不上wordpress增加英文
  • 网站建设哪家便WordPress 输入任意作者
  • 网站建设需要提供的资料太原百度公司地址
  • 厦门同安网站制作企业中山商城网站建设
  • 企业网站的内容营销ui界面设计师
  • 网站优化需要哪些工具广告关键词有哪些类型
  • 视频网站源码下载海丰县建设局网站
  • 广州公司网站建设公司网站模板 单页
  • 专门做茶叶的网站网站建设 坚持实用原则
  • asp 网站开发教程传媒公司logo
  • 阳江公司做网站怎样制作网站的步骤
  • 人才网网站开发手册如何查网站建设者ip
  • 厦门商城网站建设静态网站的设计方案
  • 物流网站的建设论文一万字wordpress 英文转中文
  • 汝州市住房和城乡规划建设局网站滨海营销型网站建设
  • 湖北建设厅举报网站东莞网站建设公司好
  • 国外商品网站连云港规划建设网站
  • 长沙招聘网站哪个最好wordpress去掉搜索
  • 宁波网站设计推荐荣盛网络北京做网站建设的公司哪家好
  • 学校如何建设网站首页wordpress网页文件太多
  • 河南省建设厅专业业务系统网站泗洪网页定制
  • 建设网站首页应该采用编程python适合多大孩子学
  • 旅游网站源码wordpress获取当前分类名称
  • 网站域名费用小型网站网站建设需要
  • 威胁网站检测平台建设wordpress网站静态化
  • 网站建设方案包括哪些内容做软件的步骤
  • 网站如何实现多语言网络运维工程师求职信
  • 企业网站建设的管理制度汕头免费建设网站制作
  • 做团餐 承包食堂的企业网站wordpress更改默认登录页面