//3.创建可以激发路由事件的方法.
        protected override void OnClick()
        {
            base.OnClick();

            ReportTimeEventArgs args = new ReportTimeEventArgs(ReportTimeEvent, this);

            args.ClickTime = DateTime.Now;
            this.RaiseEvent(args);
        }
        private void ReportTimeHandler(object sender, ReportTimeEventArgs e)
        {
            FrameworkElement element = sender as FrameworkElement;
            string           timeStr = e.ClickTime.ToString("HH:mm:ss") + ":" + e.ClickTime.Millisecond;
            string           content = string.Format("{0}到达{1}", timeStr, element.Name);

            listbox1_1.Items.Add(content);

            //传递过程可终止
            //如果传递过程中遇到了包含"panel"的元素,则不再继续传递
            //if (element.Name.Contains("panel"))
            //    e.Handled = true;
        }