• INotifyPropertyChanged接口


    INotifyPropertyChanged 接口用于通知客户端,通常执行绑定的客户端,属性值已更改。

    例如,考虑 Person 具有一个名为属性对象 FirstName。 若要提供通用的属性更改通知 Person 类型实现 INotifyPropertyChanged 接口,并引发PropertyChanged 事件时 FirstName 更改。

    在绑定的客户端和数据源之间的绑定中发生的更改通知,则绑定的类型应具有下列任一功能︰

    • 实现 INotifyPropertyChanged 接口 (首选)。

    • 提供的绑定类型的每个属性更改事件。

    上述这两个功能不要同时实现。

     //实现INotifyPropertyChanged接口的类

    public class PersonInformation: INotifyPropertyChanged
        {
            private string id;
            private string name;
            private string pic;
    
            public string ID
            {
                get
                {
                    return id;
                }
                set
                {
                    id = value;
                    PropertyChangedMethod("ID");
                }
            }
            public string Name
            {
                get
                {
                    return name;
                }
                set
                {
                    name = value;
                    PropertyChangedMethod("Name");
                }
            }
            public string Pic
            {
                get
                {
                    return pic;
                }
                set
                {
                    pic = value;
                    PropertyChangedMethod("Pic");
                }
            }
            /// <summary>
            /// 定义属性改变通知事件方法
            /// </summary>
            /// <param name="propertyName"></param>
            private void PropertyChangedMethod(string propertyName)
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
            public event PropertyChangedEventHandler PropertyChanged;
        }

    这个PersonInformation作为其他绑定源,属性更改时,界面会自动更新相应的值,而无需重置的绑定

  • 相关阅读:
    Python学习2——使用字符串(完整版)
    Python补充4——替换与修改
    Python学习3——列表和元组
    数据结构链表——双向链表
    数据结构链表—— 循环链表
    数据结构链表——静态链表
    LeetCode 61——旋转链表(JAVA)
    LeetCode 2——两数相加(JAVA)
    LeetCode 328——奇偶链表(JAVA)
    HillCrest Sensor HAL
  • 原文地址:https://www.cnblogs.com/xianyuxihuamao/p/7908909.html
Copyright © 2020-2023  润新知