我尝试为自己制作一个自定义标签,以便携带更多属性,因为我需要的不仅仅是标签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
事件未出现在此处。有什么不对吗?
答案 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));