它们的定义路由事件可以分为三个步骤:
1、声明和注册路由事件;
2、路由事件增加CLR事件包。
3、创建一个方法来刺激路由事件。
基本例如,下面的示例代码演示:
1、声明和注册路由事件;
2、路由事件增加CLR事件包。
3、创建一个方法来刺激路由事件。
基本例如,下面的示例代码演示:
public class TimeButton : Button { /// <summary> /// 声明并注冊路由事件。 /// </summary> public static readonly RoutedEvent ReportTimeEvent = EventManager.RegisterRoutedEvent("ReportTime", RoutingStrategy.Bubble, typeof(EventHandler<ReportTimeEventArgs>), typeof(TimeButton)); /// <summary> /// CLR事件包装器。/// </summary> public event RoutedEventHandler ReportTime { add { this.AddHandler(ReportTimeEvent, value); } remove { this.RemoveHandler(ReportTimeEvent, value); } } /// <summary> /// 激发路由事件,借用Click事件的激发方法。
/// </summary> protected override void OnClick() { base.OnClick(); ReportTimeEventArgs args = new ReportTimeEventArgs(ReportTimeEvent, this); args.ClickTime = DateTime.Now; this.RaiseEvent(args); } }
版权声明:本文博主原创文章。博客,未经同意,不得转载。