2011-09-23 54 views
0

將下面的虛構代碼轉換爲依賴屬性的最佳方式是什麼? 日期屬性將在另一個控件中?幫助將NotifyOnChange屬性轉換爲依賴項屬性

[DependsOn("Date")] 
    public int Year 
    { 
     get { return Date.Year; } 
     set { Date.Year = value; } 
    } 

    [NotifyOnChange] 
    public DateTime Date 
    { 
     get; set; 
    } 
+0

部分說明:設置年份將通知日期已更改,設置日期將通知年份已更改。 –

+0

您的虛構代碼在同一個類中顯示了兩個屬性,但在您的介紹段落中,您說Date屬性將位於「另一個控件」中。那麼這是否意味着這兩個屬性將位於兩個不同的類中,並且具有Year的對象將會使用Date對該對象進行某種引用? –

+0

這只是一個額外的問題,如果它有所作爲。 –

回答

0

依賴屬性可以依賴彼此經由BindingStyleTriggerTemplate等。在它們繼承等DataContext值某些情況下。在其他情況下,他們複製所有者的值,例如Border的background color

在你的情況下,你是否想創建兩個依賴項屬性,默認情況下依賴於彼此在聲明級本身,即在代碼後面?

如果是這樣,你的Date可以是一個Dep.Prop說DateProperty。和Year可以是其他的說YearProperty。在DatePropertyYearPropertyPropertyChangedCallBack元數據中,相互更改對方,注意它們不落入死鎖

+0

這就是我正在做的,它只是非常詳細,所以我希望有一個方面,我失蹤了。 –