提问人:Xaalek 提问时间:5/11/2022 最后编辑:Xaalek 更新时间:5/11/2022 访问量:1016
WPF:如何在自定义控件中重写 Loaded 事件
WPF : How to override Loaded Event in a Custom Control
问:
我想在我的自定义控件中重写事件,但我不知道该怎么做。Loaded
我想像这个例子一样做,但知道它不存在,我不知道该怎么做base.OnLoaded
https://stackoverflow.com/a/28326029/14338640
您可以创建自定义控件并重写事件。请参阅 我尝试了以下代码 TextBox 控件。
class TextBoxEx : TextBox { protected override void OnTouchUp(System.Windows.Input.TouchEventArgs e) { base.OnTouchUp(e); } protected override void OnTouchDown(System.Windows.Input.TouchEventArgs e) { base.OnTouchDown(e); } }
有关信息,我的自定义控件继承自 。UserControl
答:
3赞
Clemens
5/11/2022
#1
您不会“覆盖事件”。重写方法或附加事件处理程序。
由于没有要重写的方法,因此唯一的选择是附加事件处理程序。OnLoaded
public YourControl()
{
InitializeComponent();
Loaded += OnLoaded;
}
private void OnLoaded(object sender, RoutedEventArgs e)
{
}
评论
1赞
Clemens
5/11/2022
这是必需的,否则 UserControl 将不会加载其 XAML。请注意,您也可以通过 在 XAML 中附加处理程序。<UserControl ... Loaded="OnLoaded">
评论
Handles MyBase.Loaded
MyBase.OnLoad