public static void Register(BindDefinition bd) { Definitions.Add(bd); }
private void AddExistingBinding(BindDefinition bd, IDisposable subs) { bindings.Add(bd, subs); }
private IDisposable BindToDataContext(BindDefinition bd) { return(new DataContextSubscription(bd)); }
private static IDisposable BindToTemplatedParent(BuilderContext buildContext, BindDefinition bd) { var source = (Layout)buildContext.Store["TemplateParent"]; if (bd.TargetFollowsSource) { var property = source.GetProperty(bd.SourceProperty); var sourceObs = source.GetChangedObservable(property).StartWith(source.GetValue(property)); var targetLayout = (Layout)bd.TargetInstance; var observer = targetLayout.GetObserver(targetLayout.GetProperty(bd.TargetMember.MemberName)); sourceObs.Subscribe(observer); } return(Disposable.Empty); }