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

北塘网站制作seo职业培训班

北塘网站制作,seo职业培训班,win7怎么建设网站,哈尔滨模板网站建设一、MVVM的基本概念 MVVM的基本概念:Model、View、ViewModel 组件职责示例内容Model封装业务数据User类,包含姓名、年龄属性View负责UI呈现XAML界面,包含数据绑定ViewModel连接View和Model,处理视图逻辑MainViewModel包含命令和…

一、MVVM的基本概念

MVVM的基本概念:Model、View、ViewModel

组件职责示例内容
Model封装业务数据User类,包含姓名、年龄属性
View负责UI呈现XAML界面,包含数据绑定
ViewModel连接View和Model,处理视图逻辑MainViewModel包含命令和绑定属性

二、例子:

2.1.Model

  // Models/User.cspublic class User : INotifyPropertyChanged{private string _name;private int _age;public string Name{get => _name;set{_name = value;OnPropertyChanged(nameof(Name));}}public int Age{get => _age;set{_age = value;OnPropertyChanged(nameof(Age));}}public event PropertyChangedEventHandler PropertyChanged;protected virtual void OnPropertyChanged( string propertyName  ){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}}

2.2 ViewModel

  // ViewModels/MainViewModel.cspublic class MainViewModel : INotifyPropertyChanged{private User _user = new User { Name = "张三", Age = 25 };public User User{get => _user;set{_user = value;OnPropertyChanged(nameof(User));}}// 命令定义public ICommand SaveCommand{get{return new RelayCommand(SaveUser,  CanSaveExecute);}}bool CanSaveExecute(){return true;}private void SaveUser(){MessageBox.Show($"保存成功:{User.Name}, {User.Age}");}public event PropertyChangedEventHandler PropertyChanged;protected virtual void OnPropertyChanged(string propertyName ){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}}

2.3  ICommand (基本都是格式化的)

 public class RelayCommand : ICommand{private readonly Action _execute;private readonly Func<bool> _canExecute;public RelayCommand(Action execute, Func<bool> canExecute = null){_execute = execute;_canExecute = canExecute;}public bool CanExecute(object parameter){if (_canExecute == null){return true;}elsereturn _canExecute();}public void Execute(object parameter) => _execute();public event EventHandler CanExecuteChanged{add{if(_canExecute!=null){CommandManager.RequerySuggested += value;}                }remove{if (_canExecute != null){CommandManager.RequerySuggested -= value;}}           }}

2.4 调用

 public partial class Window1 : Window{//   public PersonViewModel m_PersonViewModel = new PersonViewModel();public MainViewModel model = new MainViewModel();public Window1(){InitializeComponent();DataContext = model;}
}
 <StackPanel Margin="15"><TextBox Text="{Binding User.Name,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"Margin="0,0,0,10"/><TextBox Text="{Binding User.Age, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"Margin="0,0,0,10"/><Button Content="保存" Command="{Binding SaveCommand}"Padding="10,5"/></StackPanel>
http://www.dtcms.com/wzjs/97479.html

相关文章:

  • WordPress挂在虚拟站点百度建站多少钱
  • 网站域名注册哪个好windows优化大师下载安装
  • 给做网站公司写锦旗语美国搜索引擎浏览器
  • 网络游戏开发商网站seo报价
  • 做网站服务关键词排名批量查询软件
  • dw制作网站模板网站优化建设
  • 做古玩生意哪些网站好南宁网站建设网络公司
  • 重庆专业做网站新的网络推广方式
  • 软装公司排名前十强seo推广软件哪个好
  • 可靠的铁岭做网站公司西安网站制作价格
  • 微信后台网站建设家庭优化大师
  • 网站建设与管理专业app开发定制
  • 微信小程序怎么制作游戏湖南有实力seo优化
  • 澳大利亚网站设计开鲁网站seo免费版
  • dede减肥网站模板seo实战密码第四版
  • 快速制作网站的方法广东近期新闻
  • 永久免费企业网站建设恶意点击竞价是用的什么软件
  • 高埗网站建设公司原画培训班一般学费多少
  • b2c商城网站源码松原今日头条新闻
  • 网站突然打不开是什么原因免费淘宝关键词工具
  • vs做网站创建项目时选哪个时事新闻最新
  • 如何制作网页图片素材seo技术教程博客
  • 网站内容页301如何做推广什么app佣金高
  • 西昌市规划建设局网站免费搭建自己的网站
  • 网站如何注销想在百度上推广怎么做
  • 缅甸网站后缀网络推广员每天的工作是什么
  • 网站建设在阿里云免费观看短视频的app软件推荐
  • 找人做网站去哪里找网站优化包括
  • 北京公司注销长沙seo关键词排名
  • 个人网站赚广告费深圳产品网络推广