Advertisement
Guest User

Untitled

a guest
Mar 17th, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.96 KB | None | 0 0
  1. public class Notify : INotifyPropertyChanged
  2. {
  3.     public event PropertyChangedEventHandler PropertyChanged;
  4.  
  5.     protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
  6.         => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); //тут что-то пока непонятное для меня
  7.     // Поясняю, вызывается событие PropertyChanged, которое содержит sender (тот, кто его отправил) и аругменты (название свойства).
  8.     // WPf увидев данное событие, сделает рефреш (обновление) нужного контрола сама, без вашего участия.
  9. }
  10.  
  11.  
  12. public class Post_zakaz : Notify //INPC вынесен в отдельный класс
  13. {
  14.     public Post_zakaz(int kod_t, string nazv_t, int kod_r, string nazv_r, double kol, double cena_ed)
  15.         => (Kod_t, Nazv_t, Kod_r, Nazv_r, Kol, Cena_ed) = (kod_t, nazv_t, kod_r, nazv_r, kol, cena_ed);
  16.  
  17.  
  18.     private double kol, cena_ed, obsh; //Не задаем этим свойствам значение, общаемся напрямую через свойства, которые сами зададут им значение!
  19.                                         // Также они должны быть приватными, ибо к ним не должен быть доступ за пределами класса!
  20.  
  21.     public int Kod_t { get; } // Свойство без set потому, что по логике оно "только для чтения".
  22.     public string Nazv_t { get; } // Свойство без set потому, что по логике оно "только для чтения".
  23.     public int Kod_r { get; } // Свойство без set потому, что по логике оно "только для чтения".
  24.     public string Nazv_r { get; } // Свойство без set потому, что по логике оно "только для чтения".
  25.  
  26.  
  27.     public double Kol
  28.     {
  29.         get => kol;
  30.         set
  31.         {
  32.             kol = value;
  33.             OnPropertyChanged(); // Вызываем событие обновления UI (если надо).
  34.             CalculateSum(); // Вызываем подсчет общей суммы.
  35.         }
  36.     }
  37.     public double Cena_ed
  38.     {
  39.         get => cena_ed;
  40.         set
  41.         {
  42.             cena_ed = value;
  43.             OnPropertyChanged(); // Вызываем событие обновления UI (если надо).
  44.             CalculateSum(); // Вызываем подсчет общей суммы.
  45.         }
  46.     }
  47.  
  48.     public double Obsh
  49.     {
  50.         get => obsh;
  51.         set
  52.         {
  53.             obsh = value;
  54.             OnPropertyChanged(); // Вызываем событие обновления UI.
  55.         }
  56.     }
  57.  
  58.     private void CalculateSum() => Obsh = Kol * Cena_ed;
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement