38 lines
866 B
C#
38 lines
866 B
C#
using System;
|
|
using TheXamlGuy.TaskbarGroup.Core;
|
|
|
|
namespace TheXamlGuy.TaskbarGroup.Foundation
|
|
{
|
|
public class DispatcherTimer : IDispatcherTimer
|
|
{
|
|
private readonly System.Windows.Threading.DispatcherTimer timer;
|
|
private readonly Action actionDelegate;
|
|
|
|
public DispatcherTimer(Action actionDelegate, TimeSpan interval)
|
|
{
|
|
timer = new System.Windows.Threading.DispatcherTimer
|
|
{
|
|
Interval = interval
|
|
};
|
|
|
|
timer.Tick += OnTick;
|
|
this.actionDelegate = actionDelegate;
|
|
}
|
|
|
|
private void OnTick(object? sender, EventArgs args)
|
|
{
|
|
actionDelegate?.Invoke();
|
|
}
|
|
|
|
public void Start()
|
|
{
|
|
timer.Start();
|
|
}
|
|
|
|
public void Stop()
|
|
{
|
|
timer.Stop();
|
|
}
|
|
}
|
|
}
|