Constrói observables a partir de objetos que implementam INotifyPropertyChanged, INotifyCollectionChanged ou INotifyDataErrorInfo.
Use o NuGet Package Manager para instalar o pacote ou use o comando a seguir no NuGet Package Manager Console.
PM> Install-Package WatchableData
- Monitorando múltiplas propriedades de um item
public decimal Total
{
get => OrderItems.Sum(i => i.Quantity * i.Price);
}OrderItems = new WatchableCollection<OrderItem>();
OrderItems.WhenAnyItemPropertyChanged(x => x.Quantity, x => x.Price)
.Subscribe(i =>
{
RaisePropertyChanged(nameof(Total));
});Atenção: Os observables precisam ser descartados após a inscrição para evitar vazamento de memória.
Essa biblioteca foi desenvolvida para ser utilizada em sistemas simples ou legados. Se você utiliza .NET Framework 4.6.1 ou superior considere utilizar ReactiveUI ou outra biblioteca mais robusta.