实战基础技能(08)--------MCCM模式中WPF数据的完全绑定_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 实战基础技能(08)--------MCCM模式中WPF数据的完全绑定

实战基础技能(08)--------MCCM模式中WPF数据的完全绑定

 2014/8/21 14:33:02  红马車  程序员俱乐部  我要评论(0)
  • 摘要:一:截图,描述:将后台代码的姓名、年龄绑定到文本框,单击”增加年龄“--年龄自+1,单击”显示年龄“--弹出年龄的显示对话框,实现了从文本框修改年龄和后台更改年龄并显示到文本框运行结果和解决方案管理截图如下:二:person类usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.ComponentModel
  • 标签:模式 数据 技能

一:截图,描述:将后台代码的姓名、年龄绑定到文本框,单击”增加年龄“--年龄自+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 完全数据绑定
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    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就没有多大意义.

 

发表评论
用户名: 匿名