我需要能够在加载自定义控件时启动计时器。但是,我需要能够在抽象类中执行此操作,此类型的所有控件都继承自。
答案 0 :(得分:1)
控件确实有一个Loaded
事件,您可以在抽象基类中附加该事件以启动计时器。
// in ctor of abstract control
_timer = new DispatcherTimer(...);
Loaded += (s,e) => _timer.Start();
答案 1 :(得分:0)
不确定你的问题是什么? .NET中有三个定时器,您应该可以使用它们中的任何一个。查看this文章,了解它们之间的选择和差异。
答案 2 :(得分:0)
你的意思是控件是抽象的。如下所示?
请尝试以下方法:
public partial class MainWindow : Window
{
MyControl mycontrol;
public MainWindow()
{
InitializeComponent();
//// Your logics...
mycontrol.Dispatcher.BeginInvoke((Action)(() =>
{
/// Try invoking timer here...
}));
}
}
public abstract class MyControl: Control
{
}
HTH