Мне нужно иметь возможность запустить таймер при загрузке моего пользовательского элемента управления. Однако мне нужно иметь возможность сделать это в абстрактном классе, от которого наследуются все элементы управления этого типа.
Элемент управления имеет событие Loaded, к которому вы можете присоединиться в своем абстрактном базовом классе, чтобы запустить таймер.
Loaded
// in ctor of abstract control _timer = new DispatcherTimer(...); Loaded += (s,e) => _timer.Start();
Вы имеете в виду элемент управления как абстрактный? Как ниже? Попробуйте следующее:
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 { }
НТН
Не уверен, в чем твоя проблема?В .NET доступно три таймера, и вы, вероятно, сможете использовать любой из них.Проверьте эту статью, чтобы понять варианты и различия между ними.