wpf binding例子

界面代码:

    /// <summary>
    /// 此绑定 绑定源非控件,而是C#对象
    /// </summary>
    public partial class Windows_Binding2 : Window
    {
        public Student binding2ViewModel { get; set; }=new Student();//

        public Windows_Binding2()
        {
            InitializeComponent();
            this.DataContext = binding2ViewModel;//
            binding2ViewModel.Name = "John";
            binding2ViewModel.Age = 6;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            binding2ViewModel.Name += "A";
            binding2ViewModel.Age += 2;
        }
    }

 

 

 后台C#代码: 

 

    /// <summary>
    /// 此绑定 绑定源非控件,而是C#对象
    /// </summary>
    public partial class Windows_Binding2 : Window
    {
        public Student binding2ViewModel { get; set; }=new Student();//

        public Windows_Binding2()
        {
            InitializeComponent();
            this.DataContext = binding2ViewModel;//
            binding2ViewModel.Name = "John";
            binding2ViewModel.Age = 6;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            binding2ViewModel.Name += "A";
            binding2ViewModel.Age += 2;
        }
    }

 

//ViewModel

 

 public class Student: INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;

        public int ID { get; set; } 
        private string _name;
        public string Name 
        {
            get { return _name; }
            set 
            { 
                _name = value;
                if(this.PropertyChanged !=null)
                { 
                    PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Name")); 
                }
            } 
        }
        private int _age;
        public int Age 
        { 
            get=> _age;
            set
            {
                _age = value;
                if (this.PropertyChanged != null)
                {
                    PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
                }
            }
        }
    }

 

posted @   CastleWu  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示