2014-03-27 62 views
3

我們一直在使用INotifyPropertyChanged。它允許正在開發的控件訂閱PropertyChanged事件。INotifyPropertyChanged的PropertyChanged事件處理函數是什麼?什麼是信息接收/處理機制?

與此同時,接口的實現非常簡單,實際上並不假設PropertyChanged事件處理程序的任何顯式代碼。下面是實現的一個典型例子:

public event PropertyChangedEventHandler PropertyChanged; 

    public void OnPropertyChange(string propertyName) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 

看來,WPF自己指定一個事件處理程序宣佈委員「PropertyChanged」。所以我的問題是WPF是如何處理這個成員的。

也許任何人都可以提出關於INotifyPropertyChanged背後的確切機制的好文章。

我看到很多人對此已經提出了一些類似的問題,但我還沒有找到任何明確的答案。

謝謝!

+2

INP比WPF舊。 WPF只是使用現有的基礎結構進行綁定。直接回答:[Binding類](http://msdn.microsoft.com/en-us/library/system.windows.data.binding%28v=vs.110%29.aspx)。更有趣的是:[依賴屬性](http://msdn.microsoft.com/en-us/library/ms752914%28v=vs.110%29.aspx) –

+0

「this control」是什麼意思? – Paparazzi

+0

@Blam:我刪掉了包含「這個控件」的整個句子 - 這比澄清我的問題的本質更令人困惑。 – user2668470

回答

1

如果你想互動地探索INotifyPropertyChanged發生了什麼,我強烈建議去微軟的新的參考源站點。我一直在廣泛使用它來了解.NET中幕後發生的事情。

這裏是一個起點你:

INotifyPropertyChanged (System)

您還可以看到在PresentationFramework一個INotifyPropertyChanged2實現,你可能想看看通過。

我希望這有幫助!

相關問題