???????????????????????? 為普通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
?
?
?