public PropertyDetails(PerspexObject o, PerspexProperty property) { Name = property.IsAttached ? $"[{property.OwnerType.Name}.{property.Name}]" : property.Name; IsAttached = property.IsAttached; // TODO: Unsubscribe when view model is deactivated. o.GetObservable(property).Subscribe(x => { var diagnostic = o.GetDiagnostic(property); Value = diagnostic.Value ?? "(null)"; Priority = (diagnostic.Priority != BindingPriority.Unset) ? diagnostic.Priority.ToString() : diagnostic.Property.Inherits ? "Inherited" : "Unset"; Diagnostic = diagnostic.Diagnostic; }); }