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

要添加的处理程序实现。

属性

注解

尽管此事件的语法块声明什么,但没有合法的可扩展应用程序标记语言 (XAML) 附加属性用法。 不应尝试在可扩展应用程序标记语言 (XAML) 中添加处理程序,并且代码中的处理程序应仅放置在用作演示 (PresentationSource ) 内容的宿主的对象上。 此类处理程序应仅在对象初始化期间附加,并且应在 Dispose 方法或等效对象清理中显式删除。

尽管这是路由事件,但此事件也存在与常规路由事件行为不同的特殊限制,因为典型应用程序方案中与处理此事件相关的元素相对较少。

  • 不能使用 UIElementContentElementAddHandler 方法来添加处理程序。 您必须使用 AddSourceChangedHandler

  • 不支持 C# +=-= 事件处理程序语法以及相关的特定于语言的处理程序语法,因为事件本身不会公开为公共。 PresentationSource仅支持用于直接添加和删除处理程序的实用工具方法。

  • 不允许使用类处理程序。 具体而言,不能在类构造函数中对此事件调用 RegisterClassHandler ,因为尽管 SourceChanged 存在标识符字段,但标识符不是公共的。

  • 所有已注册的处理程序都将接收 SourceChanged 事件,即使其中一个处理程序尝试将参数标记为已处理也是如此。

适用于