继承标签类:单击事件不显示

时间:2012-04-04 10:20:37

标签: c# wpf

我尝试为自己制作一个自定义标签,以便携带更多属性,因为我需要的不仅仅是标签tag。我为一个新类设置了一个新类,如下所示:

public class BigLabel : Label
    {
        private int t;
        private string h;
        public int ST
        {
            get
            {
                return t;
            }
            set
            {
                t = value;
            }
        }
        public string HyperLink
        {
            get
            {
                return h;
            }
            set
            {
                h = value;
            }
        }
    }

但是,当我在MainWindow.xaml.cs中使用它时,BigLabel lb = new BigLabel();
继承Label类后,lb.Click事件未出现在此处。有什么不对吗?

1 个答案:

答案 0 :(得分:2)

那是因为Label类没有Click事件。无论如何,这里是你可以添加一个:

public static RoutedEvent ClickEvent;         

static BigLabel()    
{    
    ClickEvent = ButtonBase.ClickEvent.AddOwner(typeof(BigLabel));    
}    

public event RoutedEventHandler Click    
{    
    add { AddHandler(ClickEvent, value); }    
    remove { RemoveHandler(ClickEvent, value); }    
}

你必须在MouseUp上提出这个事件:

RaiseEvent(new RoutedEventArgs(ClickEvent, this));