34 lines
1.2 KiB
C#
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));
|
|
}
|
|
}
|
|
} |