您的位置:首页 > 移动开发 > Objective-C

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

2014-07-10 14:58 351 查看
为普通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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐