博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVVM模式中WPF数据的完全绑定
阅读量:7028 次
发布时间:2019-06-28

本文共 2126 字,大约阅读时间需要 7 分钟。

一:截图,描述:将后台代码的姓名、年龄绑定到文本框,单击”增加年龄“--年龄自+1,单击”显示年龄“--弹出年龄的显示对话框,实现了从文本框修改年龄和后台更改年龄并显示到文本框

运行结果和解决方案管理截图如下:

二:person类

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ComponentModel;namespace 完全数据绑定{    class Person : INotifyPropertyChanged//INotifyPropertyChanged是.net内置的接口,数据绑定会检测DataContext是否实现了INotifyPropertyChanged,如果实现了就会监听PropertyChanged这个属性改变的事件    {        private string name;//定义名字        private int age;//定义年龄        public string Name        { get; set; }        public int Age//定义年龄属性        {            get { return age;}            set            {                 this.age = value;                if (PropertyChanged != null)                {                    PropertyChanged(this,new PropertyChangedEventArgs("Age"));//触发事件,参数说明:触发对象,事件数据                }            }        }        public event PropertyChangedEventHandler PropertyChanged;//实现接口,定义一个属性改变事件    }}

 

三:界面后台代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace 完全数据绑定{    ///     /// MainWindow.xaml 的交互逻辑    ///     public partial class MainWindow : Window    {        private Person p1 = new Person();//定义一个字段并初始化        public MainWindow()        {            InitializeComponent();        }                private void Window_Loaded(object sender, RoutedEventArgs e)        {            p1.Name = "红马車";            p1.Age = 24;            txtName.DataContext = p1;            txtAge.DataContext = p1;        }        //增加年龄        private void btnAdd_Click(object sender, RoutedEventArgs e)        {            p1.Age++;        }        //显示年龄        private void btnShow_Click(object sender, RoutedEventArgs e)        {            MessageBox.Show(p1.Age.ToString());        }     }}

四:什么是MVVM?

可以说MVVM是专为WPF打造的模式, 也可以说MVVM仅仅是MVC的一个变种, 但无论如何, 就实践而言, 如果你或你的团队没有使用"Binding"的习惯, 那么研究MVVM就没有多大意义.

 

转载地址:http://ddrxl.baihongyu.com/

你可能感兴趣的文章
HDU3421 Max Sum II【序列处理】
查看>>
POJ NOI MATH-7653 地球人口承载力估计
查看>>
iOS UI高级之网络编程(HTTP协议)
查看>>
使用cocoaPods import导入时没有提示的解决办法
查看>>
iOS数据持久化存储之归档NSKeyedArchiver
查看>>
JavaScript面向对象
查看>>
Intellij修改模板代码
查看>>
2.页面布局示例笔记
查看>>
一些老游戏CPU 100%占用的解决方法
查看>>
f5基本介绍
查看>>
博前语
查看>>
Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
查看>>
郑捷《机器学习算法原理与编程实践》学习笔记(第二章 中文文本分类(一))...
查看>>
python (ploit)
查看>>
Android 用achartengine 画折线图怎么显示不正确
查看>>
程序简单的测试与升级(暨实践第一次作业)
查看>>
信号处理
查看>>
【100题】第五十九题 用C++编写不能被继承的类
查看>>
轻描淡写
查看>>
mysql基本操作
查看>>