WPF附加事件定义

Posted jzdwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF附加事件定义相关的知识,希望对你有一定的参考价值。


路由事件的宿主都是些拥有可视化实体的界面元素。而附加事件则不具备显示在用户界面上的能力。加入和移出附件事件的两个方法命名约定:

1、为目标UI元素加入附加事件侦听器的包装器是一个名为Add*Handler的public static方法。

星号代表事件名称,与注冊事件时的名称一致。

2、解除UI元素对附加事件侦听的包装器是名为Remove*Handler的public static方法,星号也是事件名称。


代码例如以下:

public class Student
{
    public int ID { get; set; }
    public string Name { get; set; }

    public static readonly RoutedEvent NameChangedEvent = EventManager.RegisterRoutedEvent("NameChanged", 
        RoutingStrategy.Bubble,
        typeof(RoutedEventHandler),
        typeof(Student));

    public static void AddNameChangedHandler(DependencyObject d, RoutedEventHandler h)
    {
        UIElement element = d as UIElement;
        if (element != null) element.AddHandler(Student.NameChangedEvent, h);
    }

    public static void RemoveNameChangedHandler(DependencyObject d, RoutedEventHandler h)
    {
        UIElement element = d as UIElement;
        if (element != null) element.RemoveHandler(Student.NameChangedEvent, h);
    }
}


以上是关于WPF附加事件定义的主要内容,如果未能解决你的问题,请参考以下文章

附加到矩形线的火灾事件事件wpf c#

如何监视 WPF 中的所有窗口,在所有窗口中订阅事件或者附加 UI

WPF ListView:附加双击(在项目上)事件

WPF中XAML的触发器的属性,事件 都有那些?以及如何寻找

使用 JQuery ajax 在 DOM 操作后附加事件

从代码绑定到 WinRT/UWP 中的自定义附加属性