31 lines
683 B
C#
31 lines
683 B
C#
using System;
|
|
using System.Timers;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
namespace Ursa.Demo.ViewModels;
|
|
|
|
public partial class ClockDemoViewModel: ObservableObject, IDisposable
|
|
{
|
|
private Timer _timer;
|
|
|
|
[ObservableProperty] private DateTime _time;
|
|
public ClockDemoViewModel()
|
|
{
|
|
Time = DateTime.Now;
|
|
_timer = new Timer(1000);
|
|
_timer.Elapsed += TimerOnElapsed;
|
|
_timer.Start();
|
|
}
|
|
|
|
private void TimerOnElapsed(object? sender, ElapsedEventArgs e)
|
|
{
|
|
Time = DateTime.Now;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
_timer.Stop();
|
|
_timer.Elapsed -= TimerOnElapsed;
|
|
_timer.Dispose();
|
|
}
|
|
} |