Files
csharp-uebung/FahzeugWPF/MainWindowViewModel.cs
2025-06-02 16:11:50 +02:00

44 lines
1.2 KiB
C#

using FahrzeugDatenBank;
using System.Collections.ObjectModel;
using System.Timers;
namespace FahzeugWPF;
class MainWindowViewModel : ViewModelBase
{
private readonly FahrzeugeModell _model;
private string _mainWindowTitle = "Fahrzeuge";
private System.Timers.Timer _timer = new System.Timers.Timer()
{
Interval = 1000,
};
public MainWindowViewModel(FahrzeugeModell modell)
{
this._timer.Elapsed += _timer_Elapsed;
this._timer.Start();
this._model = modell;
this.InitialisiereDasViewModell();
}
public string MainWindowTitle { get { return _mainWindowTitle; } set {
SetProperty<string>(ref _mainWindowTitle, value);
} }
public ObservableCollection<Fahrzeug> Fahrzeuge { get; } = new ObservableCollection<Fahrzeug>();
private async void InitialisiereDasViewModell()
{
var fahrzeuge = await _model.LadeAlleFahrzeuge();
foreach (var fahrzeug in fahrzeuge)
{
this.Fahrzeuge.Add(fahrzeug);
}
}
private void _timer_Elapsed(object? sender, ElapsedEventArgs e)
{
this.MainWindowTitle = $"Fahrzeuge {DateTime.Now.ToLongTimeString()}";
}
}