Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Notify : INotifyPropertyChanged
- {
- public event PropertyChangedEventHandler PropertyChanged;
- protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
- => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); //тут что-то пока непонятное для меня
- // Поясняю, вызывается событие PropertyChanged, которое содержит sender (тот, кто его отправил) и аругменты (название свойства).
- // WPf увидев данное событие, сделает рефреш (обновление) нужного контрола сама, без вашего участия.
- }
- public class Post_zakaz : Notify //INPC вынесен в отдельный класс
- {
- public Post_zakaz(int kod_t, string nazv_t, int kod_r, string nazv_r, double kol, double cena_ed)
- => (Kod_t, Nazv_t, Kod_r, Nazv_r, Kol, Cena_ed) = (kod_t, nazv_t, kod_r, nazv_r, kol, cena_ed);
- private double kol, cena_ed, obsh; //Не задаем этим свойствам значение, общаемся напрямую через свойства, которые сами зададут им значение!
- // Также они должны быть приватными, ибо к ним не должен быть доступ за пределами класса!
- public int Kod_t { get; } // Свойство без set потому, что по логике оно "только для чтения".
- public string Nazv_t { get; } // Свойство без set потому, что по логике оно "только для чтения".
- public int Kod_r { get; } // Свойство без set потому, что по логике оно "только для чтения".
- public string Nazv_r { get; } // Свойство без set потому, что по логике оно "только для чтения".
- public double Kol
- {
- get => kol;
- set
- {
- kol = value;
- OnPropertyChanged(); // Вызываем событие обновления UI (если надо).
- CalculateSum(); // Вызываем подсчет общей суммы.
- }
- }
- public double Cena_ed
- {
- get => cena_ed;
- set
- {
- cena_ed = value;
- OnPropertyChanged(); // Вызываем событие обновления UI (если надо).
- CalculateSum(); // Вызываем подсчет общей суммы.
- }
- }
- public double Obsh
- {
- get => obsh;
- set
- {
- obsh = value;
- OnPropertyChanged(); // Вызываем событие обновления UI.
- }
- }
- private void CalculateSum() => Obsh = Kol * Cena_ed;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement