繁体   English   中英

如何使 INotifyPropertyChanged 工作?

[英]How do I make INotifyPropertyChanged work?

我正在做一个 UWP 项目,类似于订单应用程序,现在我有点卡在我的补货页面上。

在应用程序中,我可以补充我的Stock属性,但是当我更改视图或选项卡之间时,它会重置。 我试图让一切都静态,但后来我用更多的问题挖掘了我的漏洞,然后我得到了一个关于INotifyPropertyChanged的提示,但是通过我看到的例子,我无法让它工作。 我在 Merchandise 类中有我的财产,我可以访问我的 Restock xaml.cs 文件。 但是我想我应该在属性正确的课堂上做点什么?

public class Merchandise
{
     public string Name { get; set; }
     public string Supplier { get; set; }
     public int Stock { get; set; }
     public int MerchandiseId { get; set; }
}

我是否让Merchandise实现接口?

你应该做这样的事情:

public class Merchandise : INotifyPropertyChanged {

      private string _name;

      public string Name { get { return _name; } set { _name = value; OnPropertyChanged(); } }

      protected void OnPropertyChanged([CallerMemberName] string propertyName = null) {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
      }

      public event PropertyChangedEventHandler PropertyChanged;
    }

但是,您应该考虑一些更通用的方法,因为您将通过 UI 更改更多对象和/或属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM