我有一個自定義控件,從一個數據網格繼承。每次數據綁定到網格時,我都必須評估一個屬性。我目前綁定使用DataSource =「{綁定....}」WPF攔截依賴項屬性
有沒有一種方法,我可以創建一個新的依賴項屬性(?)哪些將被評估每次數據源屬性更改?我可以以某種方式「附加」我的方法到數據源屬性?
我希望我的意圖清楚。
感謝您的任何想法。
我有一個自定義控件,從一個數據網格繼承。每次數據綁定到網格時,我都必須評估一個屬性。我目前綁定使用DataSource =「{綁定....}」WPF攔截依賴項屬性
有沒有一種方法,我可以創建一個新的依賴項屬性(?)哪些將被評估每次數據源屬性更改?我可以以某種方式「附加」我的方法到數據源屬性?
我希望我的意圖清楚。
感謝您的任何想法。
我能夠通過重寫OnPropertyChanged,並使用下面的代碼與我的新的DependencyProperty一起處理這個問題 -
if(e.Property.Name = "DataSource")
{
// Invoke my new method
}
如果從DataGrid
繼承,你可以重寫OnItemsSourceChanged
方法,像這樣:
protected override void OnItemsSourceChanged(IEnumerable oldValue, IEnumerable newValue)
{
// update your property here
base.OnItemsSourceChanged(oldValue, newValue);
}
其實我使用Infragistics的DataGrid中,所以O nItemsSourceChanged不可用。我會看看那裏是否有類似的東西。 – czuroski
的可能重複[聽依賴屬性的變化(http://stackoverflow.com/questions/4764916/listen-to-changes-of-dependency-property) –