對從Control繼承的自定義控件有一個依賴屬性(Foreground)。當我加載控件時,我想查看用戶是否設置了依賴項屬性,或者是否在爲它們設置值之前使用其默認值。這個問題有點複雜,那麼這裏是:Silverlight 2.0:確定在更改它之前是否設置了依賴項屬性
該控件位於用戶添加到其項目中的自定義控件庫中。當他們設置他們的項目時,我有能力讓他們用給定的x:鍵添加一行到他們的app.xaml文件中,該鍵包含我在爲控件設置默認值時閱讀的設置。但是,如果他們在代碼或xaml中設置值,我不想使用此全局值設置值。這裏有幾個案例,以幫助形象化什麼我談論:
用戶創建從我的庫中的控制,並把它自己的頁面上。然後他們將前景設置爲綠色。我希望前景的價值爲該控件的綠色。
用戶在其app.xaml中添加了一個特殊行,表示他們希望特定類型的所有控件都具有紅色的前景。我希望這種類型的所有控件的前景的價值都是紅色的。
用戶在其app.xaml中添加了一個特殊行,表示他們希望特定種類的所有控件都具有紅色的前景。然後他們將單個控件(xaml)的前景值設置爲黃色。我希望這種類型的所有控件的前景的值都是紅色的,除了那些他們另外指定爲黃色的控件。
當裝載控制,我想讀的依賴屬性,看看他們是否已設置的值,或者如果它是在風格定義的默認值。如果它是默認值,那麼我想要從app.xaml文件中讀取它們的特殊行並將其設置爲該顏色。