为普通Object添加类似AttachedProperty的属性

简介: 原文:为普通Object添加类似AttachedProperty的属性                         为普通Object添加类似AttachedProperty的属性                   周银辉   我们知道,在WPF中对应一个DependencyObject,我们很容易通过AttachedProperty来为类型附加一个属性。
原文: 为普通Object添加类似AttachedProperty的属性

                         为普通Object添加类似AttachedProperty的属性

                  周银辉

 

我们知道,在WPF中对应一个DependencyObject,我们很容易通过AttachedProperty来为类型附加一个属性。但对于普通的Object而言,这就不可行了。

我现在遇到这样一个问题,下面有一个继承与Object(而不是DependencyObject)的普通类:

    public class People
    {
        public string Name
        {
            get;
            set;
        }

        public People(string name)
        {
            Name = name;
        }

        public override string ToString()
        {
            return Name;
        }
    }
}

 

我需要它在某些情况下具有IsKeyPerson这个属性,当这个属性为true时,界面会将名称标记为红色。但我没有办法去修改这个People的实现。如果它是DependencyObject就好了,可惜他不是。

我的展示这个People类的界面大概会写成这个样子:

                <DataTemplate DataType="customAttachedProperty:People">
                    <TextBlock x:Name="TextBlock" Text="{Binding Name}"/>
                    <DataTemplate.Triggers>
                        <DataTrigger 如果IsKeyPerson为true>
                            <Setter TargetName="TextBlock" Property="Foreground" Value="Red"/>
                        </DataTrigger>
                    </DataTemplate.Triggers>
                </DataTemplate>

 

具体如何实现的,下载代码:http://files.cnblogs.com/zhouyinhui/CustomAttachedPropertySln.rar

 

 

 

目录
相关文章
|
10月前
|
JavaScript 前端开发
熬夜整理的 Object 对象的静态方法、实例属性和实例方法
熬夜整理的 Object 对象的静态方法、实例属性和实例方法,用于理解 Object 对象的静态方法和实例方法的区别,以及 Object 对象的静态方法和实例方法的使用。
67 0
|
JavaScript
Object(对象)中的属性
js Object(对象)中的属性
67 0
|
JavaScript
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
949 0
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
|
JavaScript
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-2
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-1
161 0
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-2
|
JavaScript 前端开发 索引
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-1
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性
147 0
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-1
把两个object对象合并成一个对象 属性名称相同的变为后面对象的值
把两个object对象合并成一个对象 属性名称相同的变为后面对象的值
551 0
#掌握如何创建类和对象,以及属性和函数的分类 #object是所有类最终都会继承的类,如果没有合适的继承类就使用他
#掌握如何创建类和对象,以及属性和函数的分类 #object是所有类最终都会继承的类,如果没有合适的继承类就使用他
SAP CRM SPRO Customizing 里 Text Object 属性 continue 的含义
SAP CRM SPRO Customizing 里 Text Object 属性 continue 的含义
SAP CRM SPRO Customizing 里 Text Object 属性 continue 的含义
|
JavaScript
对Object属性理解
对Object属性理解
144 0
类的父类object的一些属性、方法
# class Test: # """文档字符串""" # name = 'scolia' # # print(Test.__doc__) # 提醒一下,函数是help(),实例也可以访问,但是子类并不会继承父类的文档字符串 # print(Test.
811 0