Hallo Leute,
ich habe aus dem Web eine DispatcherTimer class, die ich gern in
meiner eigenen Applikation nutzen möchte, z.B. um ein Label zu aktualisieren.
Im MainWindowViewModel habe ich Zugriff auf Start/Stop aus DTimer.
Wie muss die Methode (EventHandler ?) aussehen, die im VM
aufgerufen wird um das Label zu aktualisieren ?
Wie wird die "Verbindung" zwischen DTimer und der Methode im VM hergestellt ?
XAML: <Label width="70" Content="{Binding StatusText}"
StatusText ist ein Property im VM.
ich habe aus dem Web eine DispatcherTimer class, die ich gern in
meiner eigenen Applikation nutzen möchte, z.B. um ein Label zu aktualisieren.
Im MainWindowViewModel habe ich Zugriff auf Start/Stop aus DTimer.
Wie muss die Methode (EventHandler ?) aussehen, die im VM
aufgerufen wird um das Label zu aktualisieren ?
Wie wird die "Verbindung" zwischen DTimer und der Methode im VM hergestellt ?
XAML: <Label width="70" Content="{Binding StatusText}"
StatusText ist ein Property im VM.
Code:
public class DTimer
{
private DispatcherTimer timer;
public event Action<int> DoSomething;
private int _timesCalled = 0;
public DTimer()
{
timer = new DispatcherTimer();
}
public void Start(int PeriodInSeconds)
{
timer.Interval = TimeSpan.FromSeconds(PeriodInSeconds);
timer.Tick += timer_Task;
_timesCalled = 0;
timer.Start();
}
public void Stop()
{
timer.Stop();
}
private void timer_Task(object sender, EventArgs e)
{
_timesCalled++;
DoSomething(_timesCalled);
}
}