Files
2024-11-11 19:39:56 +01:00

34 lines
1.2 KiB
C#

using System.ComponentModel;
namespace ModelViewViewModelProject.Model
{
public class Book : INotifyPropertyChanged
{
// Prywatna zmienna przechowująca ilość książek
private int _amount;
public int Id { get; set; }
public string? Title { get; set; }
public decimal Price { get; set; }
public double Rate { get; set; }
// Pole, które po zmianie jej zawartości jest zmieniana zmienna _amount oraz wysyłany komunikat, że nastąpiła zmiana wartości w zmiennej
public int Amount
{
get => _amount;
set
{
_amount = value;
OnPropertyChanged(nameof(Amount));
}
}
/*
* Dla obiektu również potrzebujemy składnik odświeżania naszego widoku, jeżeli wiemy, że będzie również następowała zmiana wartości w naszej zmiennej
* jak np. ilość książek
*/
public event PropertyChangedEventHandler? PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}