PresentationSource.AddSourceChangedHandler 方法

定義

新增 SourceChanged 事件的處理常式至提供的項目中。

public:
 static void AddSourceChangedHandler(System::Windows::IInputElement ^ element, System::Windows::SourceChangedEventHandler ^ handler);
[System.Security.SecurityCritical]
public static void AddSourceChangedHandler (System.Windows.IInputElement element, System.Windows.SourceChangedEventHandler handler);
public static void AddSourceChangedHandler (System.Windows.IInputElement element, System.Windows.SourceChangedEventHandler handler);
[<System.Security.SecurityCritical>]
static member AddSourceChangedHandler : System.Windows.IInputElement * System.Windows.SourceChangedEventHandler -> unit
static member AddSourceChangedHandler : System.Windows.IInputElement * System.Windows.SourceChangedEventHandler -> unit
Public Shared Sub AddSourceChangedHandler (element As IInputElement, handler As SourceChangedEventHandler)

參數

element
IInputElement

要新增處理常式的項目。

handler
SourceChangedEventHandler

要新增的處理常式實作。

屬性

備註

雖然此事件狀態的語法區塊為何,但沒有任何合法的 Extensible Application Markup Language (XAML) 附加屬性使用方式。 您不應該嘗試在 Extensible Application Markup Language (XAML) 中新增處理常式,而程式碼中的處理常式應該只放在做為簡報 () PresentationSource 內容的主機的物件上。 這類處理常式應該只在物件初始化期間附加,而且應該在 Dispose 方法或對等物件清除中明確移除。

雖然這是路由事件,但此事件有與一般路由事件行為不同的特殊限制,因為一般應用程式案例中的元素數目相對較小,因此會擔心處理此事件。

  • 您無法使用 UIElementContentElementAddHandler 方法來新增處理常式。 您必須使用 AddSourceChangedHandler

  • 不支援 C# +=-= 事件處理常式語法以及相關的語言特定處理常式語法,因為事件本身不會公開為公用。 PresentationSource只支援直接新增和移除處理常式的公用程式方法。

  • 不允許類別處理常式。 具體而言,您無法 RegisterClassHandler 在類別建構函式中呼叫這個事件,因為雖然 SourceChanged 的識別碼欄位存在,但識別碼不是公用的。

  • 即使其中一個處理常式嘗試將引數標示為已處理,所有已註冊的處理常式仍會收到 SourceChanged 事件。

適用於