After(PropertyBindingAction d, PropertyBindingAction action) { return(new PropertyBindingAction((t, s) => { d(t, s); action(t, s); })); }
Before(PropertyBindingAction d, PropertyBindingAction action) { return(new PropertyBindingAction((b, c) => { action(b, c); d(b, c); })); }
AfterTargetUpdate(PropertyBindingAction action) { var oldAction = binding.UpdateTargetAction; binding.UpdateTargetAction = new PropertyBindingAction((binding, change) => { oldAction(binding, change); action(binding, change); }); return(this); }
BeforeTargetUpdate(PropertyBindingAction action) { var oldAction = binding.UpdateTargetAction; binding.UpdateTargetAction = new PropertyBindingAction((binding, source) => { action(binding, source); oldAction(binding, source); }); return(this); }
/// <summary> /// Set action to call right after <see cref="IBinding.UpdateTarget"/>. /// </summary> /// <param name="action">after update target action</param> public PropertyBindingSourceBuilder <TSource> AfterTargetUpdate(PropertyBindingAction action) { var oldAction = Binding.UpdateTargetAction; Binding.UpdateTargetAction = (b, change) => { oldAction(b, change); action(b, change); }; return(this); }
/// <summary> /// Set action to call right before <see cref="IBinding.UpdateTarget"/>. /// </summary> /// <param name="action">before update target action</param> public PropertyBindingSourceBuilder <TSource> BeforeTargetUpdate(PropertyBindingAction action) { var oldAction = Binding.UpdateTargetAction; Binding.UpdateTargetAction = (b, source) => { action(b, source); oldAction(b, source); }; return(this); }
public TargetBinding <T> OneWayToSource() { var old = binding.UpdateSourceAction; var b = binding; PropertyBindingAction initTargetAndStopUpdating = (t, s) => { old(t, s); b.DontUpdateSource(); }; binding.UpdateSourceAction = initTargetAndStopUpdating; return(this); }
void PerformAction(PropertyBindingAction action) { if (Enabled && !performingAction) { Assert.State(Source != null).IsTrue("Source is not set"); try { performingAction = true; action(this, action == UpdateSourceAction ? ChangeSource.Source : ChangeSource.Target); } finally { performingAction = false; } } }
BeforeUpdate(PropertyBindingAction action) { BeforeSourceUpdate(action); BeforeTargetUpdate(action); return(this); }
AfterUpdate(PropertyBindingAction action) { AfterSourceUpdate(action); AfterTargetUpdate(action); return(this); }
AfterSourceUpdate(PropertyBindingAction action) { binding.UpdateSourceAction = After(binding.UpdateSourceAction, action); return(this); }
AfterTargetUpdate(PropertyBindingAction action) { binding.UpdateTargetAction = After(binding.UpdateTargetAction, action); return(this); }
/// <summary> /// Set action to call right after <see cref="IBinding.UpdateSource"/>. /// </summary> /// <param name="action">after update source action</param> public PropertyBindingTargetBuilder <T> AfterSourceUpdate(PropertyBindingAction action) { _binding.UpdateSourceAction = After(_binding.UpdateSourceAction, action); return(this); }
BeforeSourceUpdate(PropertyBindingAction action) { binding.UpdateSourceAction = Before(binding.UpdateSourceAction, action); return(this); }
/// <summary> /// Set action to call right before <see cref="IBinding.UpdateSource"/> or <see cref="IBinding.UpdateTarget"/>. /// </summary> /// <param name="action">before update source or update target action</param> public PropertyBindingTargetBuilder <T> BeforeUpdate(PropertyBindingAction action) { BeforeSourceUpdate(action); BeforeTargetUpdate(action); return(this); }
UpdateSource(PropertyBindingAction action) { binding.UpdateSourceAction = action; return(this); }
UpdateTarget(PropertyBindingAction action) { binding.UpdateTargetAction = action; return(this); }
/// <summary> /// Set action to call right before <see cref="IBinding.UpdateTarget"/>. /// </summary> /// <param name="action">before update target action</param> public PropertyBindingTargetBuilder <T> BeforeTargetUpdate(PropertyBindingAction action) { _binding.UpdateTargetAction = Before(_binding.UpdateTargetAction, action); return(this); }
public void UpdateTarget(PropertyBindingAction action) { binding.UpdateTargetAction = action; }
/// <summary> /// Set action to call right after <see cref="IBinding.UpdateSource"/> or <see cref="IBinding.UpdateTarget"/>. /// </summary> /// <param name="action">after update source or update target action</param> public PropertyBindingTargetBuilder <T> AfterUpdate(PropertyBindingAction action) { AfterSourceUpdate(action); AfterTargetUpdate(action); return(this); }
BeforeTargetUpdate(PropertyBindingAction action) { binding.UpdateTargetAction = Before(binding.UpdateTargetAction, action); return(this); }
/// <summary> /// Set <see cref="IBinding"/> <see cref="IBinding.UpdateSource"/> action /// </summary> /// <param name="action">update source action</param> public PropertyBindingTargetBuilder <T> UpdateSource(PropertyBindingAction action) { _binding.UpdateSourceAction = action; return(this); }