文章出處

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

 

 

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()