zoukankan      html  css  js  c++  java
  • 为普通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

  • 相关阅读:
    深度优先搜索
    哈希算法
    双指针问题
    基本概念
    Ionic JPush极光推送二
    一条sql获取每个类别最新的一条记录
    Ionic App 更新插件cordova-plugin-app-version
    Ionic跳转到外网地址
    Ionic cordova-plugin-splashscreen
    Web API 上传下载文件
  • 原文地址:https://www.cnblogs.com/zhouyinhui/p/3835736.html
Copyright © 2011-2022 走看看