C # слушайте, чтобы уведомить свойство изменено - PullRequest
0 голосов
/ 05 июля 2019

Я создаю приложение для бакалеи. У меня есть ItemsController, который хранит список Items и обрабатывает загрузку / выгрузку базы данных.

Моя Items реализация INotifyPropertyChanged и мой пользовательский интерфейс обновляются, как только я изменяю некоторые из их полей.

Я хотел бы также получать уведомление в ItemsController, когда пользователь изменяет статус Item (например, отметив его в списке покупок), чтобы иметь возможность загрузить изменение в базу данных SQL.

Как я могу подключить к этому событию измененное свойство?


Класс Item выглядит следующим образом:

public class Item : INotifyPropertyChanged
{
    private int quantity;

    public int Quantity
    {
        // some fields look like this

        get { return quantity; }
        set
        {
            if (quantity != value)
            {
                this.quantity = value;
                this.NotifyPropertyChanged("Quantity");
            }
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
    public void NotifyPropertyChanged(string propName)
    {
        if (this.PropertyChanged != null)
            this.PropertyChanged(this, new PropertyChangedEventArgs(propName));
    }

Controller:

public ItemsController
{
    public ObservableCollection<Item> AllItemsFromDB;

    public void LoadAll()
    {
         // Connects to DB, download JSONs
         // create items from the JSON
         // and fills AllItemsFromDB

         // here I’d like to hook to property changed, 
         // and then call the update method
    }
}

Я использую Azure для хранения своих вещей на сервере SQL и функции Azure для промежуточного программного обеспечения веб-API.

...