Riferimento alla domanda: (Is there a pattern for subscribing to hierarchical property changes with Reactive UI?)esiste un modo per iscriversi a tutte le modifiche di proprietà hierachical con l'interfaccia utente reattiva?
Attualmente ho un bambino reattivooggetto nel mio genitore reattivooggetto.
public class Child : ReactiveObject
{
private string propertyX
public string PropertyX
{
get { return this.propertyX; }
set { this.RaiseAndSetIfChanged(x => x.PropertyX, ref this.propertyX, value); }
}
private string propertyY
public string PropertyY
{
get { return this.propertyY; }
set { this.RaiseAndSetIfChanged(x => x.PropertyY, ref this.propertyY, value); }
}
}
public class Parent: ReactiveObject
{
public Parent(Child child)
{
Child = child;
this.WhenAny(x => x.Child.PropertyX, x => x.Value).Subscribe(x => raisePropertyChanged("Child"));
}
private Child child
public Child Child
{
get { return this.child; }
set { this.RaiseAndSetIfChanged(x => x.Child, ref this.child, value); }
}
}
La mia domanda è che cosa devo scrivere:
this.WhenAny(x => x.Child.PropertyX, x => x.Value).Subscribe(x => raisePropertyChanged("Child"));
per ogni proprietà bambino?
Il motivo per cui è necessario eseguire questa operazione è perché la griglia DevExpress non si aggiorna a causa del bind della proprietà nidificata.
<dxg:GridColumn x:Key="PropertyX" Header="PropertyX" FieldName="Child.PropertyX" />
Puoi spiegare l'ultima parte di più? Non è chiaro che cosa si sta tentando di fare con DevExpress Grid –
La griglia DevExpress non aggiorna gli elementi framework che hanno un bind nested. Quindi devo creare una sottoscrizione WhenAny per propagare l'inotifypropetychanged. È una limitazione da parte loro che mi chiedo se ReactiveUI abbia una soluzione intelligente per questo. Questo lo spiega? – JugheadNY