数据绑定需要:

  1. 后台必须要有与控件对应的类和相关的属性
  1. 在后台new 一个类的对象
  1. 在后台把控件的数据上下文设置为该对象。
  1. 在XAML中把要绑定的控件中Text =      "{Binding 属性 }"

现象:在界面中修改控件中的参数可以同时反映到后台的实例中去,但是直接修改后台的实例,对界面中的参数没有影响

原因:由于普通对象没有“通知我的属性变了”这么一种机制,所以改变对象的属性,界面不会变,但是界面改变是有TextChanged之类的事件的,所以改变界面可以同步修改到对象

解决方法:为类添加INotifyPropertyChanged接口,数据绑定会检测DataContext是否实现了INotifyPropertyChanged,如果实现了,就会监听PropertyChanged得知属性变化

 class Person:INotifyPropertyChanged
{
private int age; public int Age
{
get
{
return age;
}
set
{
this.age = value;
if (PropertyChanged != null)
{
PropertyChanged(this,
new PropertyChangedEventArgs("Age"));
}
}
}

WPF 之 数据绑定的更多相关文章

  1. wpf Content数据绑定StringFormat起作用的原理和解决

    原文:wpf Content数据绑定StringFormat起作用的原理和解决 <Window x:Class="WpfOne.Bind.Bind6" xmlns=" ...

  2. WPF:数据绑定总结(1) https://segmentfault.com/a/1190000012981745

    WPF:数据绑定总结(1) visual-studio c# 1.3k 次阅读  ·  读完需要 16 分钟 0 一.概念:什么是数据绑定? WPF中的数据绑定:是在应用程序 UI 与业务逻辑之间建立 ...

  3. WPF的数据绑定详细介绍

    数据绑定:是应用程序 UI 与业务逻辑之间建立连接的过程. 如果绑定正确设置并且数据提供正确通知,则当数据的值发生更改时,绑定到数据的视觉元素会自动反映更改. 数据绑定可能还意味着如果视觉元素中数据的 ...

  4. wpf中数据绑定(Datacontext)的应用

    在winform开发中,我们常用到ado.net进行数据绑定,在编程技术日新月异的今天,这种繁杂的数据绑定方式已不能再适合开发人员,于是微软推出了wpf,更炫的界面美化,更简洁地编写控件,在wpf中使 ...

  5. WPF双向数据绑定总结

    参考官方:https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/data/data-binding-wpf 实例程序:https://files. ...

  6. DataGrid列表信息保存为EXCEL到指定的路径 ---------继续DataGrid在WPF的数据绑定

    一.许多WPF或者Winform程序在保存数据时,会以EXCEL或者文本的形式展现可视化界面的数据,本文就简单介绍下将DataGrid列表信息保存为EXCEL到指定的路径下,例子很简单,用的着的直接用 ...

  7. WPF之数据绑定

    WPF学习之数据绑定 1. Banding基础 WPF中的数据绑定提供了很强大的功能.与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Conve ...

  8. WPF+MVVM数据绑定问题集锦

    1.  数据绑定的问题 在使用数据绑定时,一般使用 ObservableCollection<T> 类,不使用list列表集合,因为list数据发生变化时,UI界面不更新,而Observa ...

  9. WPF之数据绑定基类

    数据绑定方法 在使用集合类型作为列表控件的ItemsSource时一般会考虑使用ObservalbeCollection,它实现了INotifyCollectionChanged和INotifyPro ...

随机推荐

  1. CloudStack4.2 更新全局参数API

    测试更新全局参数API http://192.168.153.34:8080/client/api?command=updateConfiguration&response=json& ...

  2. TextView 实现复制文本功能

    Android api 11 以后可以直接设置 android:textIsSelectable="true" <TextView android:layout_width= ...

  3. Vehicle Network Protocols -- ISO/KWP CAN CCD PCI SCI / SCP / Class 2

    Vehicle Network Protocols There are 5 protocols in the OBD2 system and a car will normally only use ...

  4. 初识ASP.NET---若干常见错误

    近期在学习ASP.NET的相关知识,期间遇到了一些错误,比較常见的错误总结了一下,希望此文能给ASP.NET刚開始学习的人一些帮助.同一时候记录这些错误也方便今后自己查看. 1.  GridView& ...

  5. svn cleanup failed–previous operation has not finished 解决方法

    今天svn遇到一个头疼的问题,最开始更新的时候失败了,因为有文件被锁住了.按照以往的操作,我对父目录进行clean up操作,但是clean up 操作也失败了! svn cleanup failed ...

  6. Android-Volley详解

    一.Volley简介和特点 1. 简介: 并发.效率.性能 高要求 Volley(齐射,迸发) Volley是Google2013发布的Android平台上的网络通信库 2. Volley特点: 通信 ...

  7. 可以将一些配置信息已json格式存在数据库中读取的时候序列化。

    public partial class json序列化 : System.Web.UI.Page    {        protected void Page_Load(object sender ...

  8. jQuery代码性能小细节

    选择器Selector的使用 $("#id")使用id来定位DOM元素无疑是最佳提高性能方式,因为jQuery底层将直接调用本地方法document.getElementbyId( ...

  9. MySQL 5.7 深度解析: JSON数据类型使用

    http://www.actionsky.com/docs/archives/156  2015年12月25日  杨涛涛 JSON (JavaScriptObject Notation) 是一种轻量级 ...

  10. spring事务的传播特性

    所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring 支持 7 种事务传播行为: PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在 ...