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 事件。

适用于