2016-04-28 160 views
0

我對依賴屬性進行了一些研究並引起了混亂。 運行時如何確定DependencyProperty屬於哪個對象?C#DependencyProperty - 屬性如何映射到對象

想象一下所有註冊相同DependencyProperty的對象集合(相同類型)。該屬性綁定到一個文本框和TexBoxes顯示在另一個之下。

第一:是每個文本框綁定到不同的DependencyProperty?我想是的,但我不是100%肯定的。第二:如果是這樣,那麼運行時如何確定DependencyProperty應該映射到的對象。當註冊DependencyProperty時,我只指定對象類型,在示例MyClockControl中。由於沒有可靠的方法從被調用的方法中檢索調用實例,我只是不知道該對象是如何解析「包含」屬性的,並且在訪問dependency屬性時會返回多個屬性的正確值。

http://www.wpftutorial.net/dependencyproperties.html

// Dependency Property 
public static readonly DependencyProperty CurrentTimeProperty = 
    DependencyProperty.Register("CurrentTime", typeof(DateTime), 
    typeof(MyClockControl), new FrameworkPropertyMetadata(DateTime.Now)); 

// .NET Property wrapper 
public DateTime CurrentTime 
{ 
    get { return (DateTime)GetValue(CurrentTimeProperty); } 
    set { SetValue(CurrentTimeProperty, value); } 
} 

感謝您的任何實施例的答案。

回答

1

(的DependencyObject)的GetValueSetValue方法獲得,並在字典(嗯...那種)的設定值,宣佈DependencyObject依賴屬性是關鍵。這意味着對應於DependencyProperty的值特定於DependencyObject的實例。