Я создаю приложение для бакалеи. У меня есть 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.