自己定义的路由事件

它们的定义路由事件可以分为三个步骤:
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); } }



版权声明:本文博主原创文章。博客,未经同意,不得转载。

posted @ 2015-08-26 09:30  yxwkaifa  阅读(164)  评论(0)    收藏  举报