/// <summary> /// Sets the value of corner radius. /// </summary> /// <param name="bindable">The view</param> /// <param name="value">The corner radius</param> public static void SetCornerRadius(BindableObject bindable, Thickness value) { if (value != ZeroThickness) { bindable.SetValue(CornerRadiusProperty, value); } else { bindable.ClearValue(CornerRadiusProperty); } }
/// <summary> /// Sets the value of padding. /// </summary> /// <param name="bindable">The layout</param> /// <param name="value">The padding</param> public static void SetPadding(BindableObject bindable, Thickness value) { if (value != ZeroThickness) { bindable.SetValue(PaddingProperty, value); } else { bindable.ClearValue(PaddingProperty); } }
/// <summary> /// Sets the value of margin. /// </summary> /// <param name="bindable">The view</param> /// <param name="value">The margin</param> public static void SetMargin(BindableObject bindable, Thickness value) { if (value != ZeroThickness) { bindable?.SetValue(MarginProperty, value); } else { bindable?.ClearValue(MarginProperty); } }
private static void OnSharedMaterialChanged(BindableObject sender, object oldValue, object newValue) { var body = ((Renderer <T>)sender).Body; if (body != null) { body.sharedMaterial = (UnityEngine.Material)newValue; if (sender.IsSet(MaterialProperty)) { sender.ClearValue(s_materialPropertyKey); } } }
private static void OnLocalRotationChanged(BindableObject sender, object oldValue, object newValue) { Forms.mainThread.Send(state => { var rect = (Transform <T>)state; if (rect.Body != null) { rect.Body.localRotation = rect.LocalRotation; } }, sender); sender.ClearValue(LocalEulerAnglesProperty); }
internal void UnApply(BindableObject target, bool fromStyle = false) { if (target == null) { throw new ArgumentNullException(nameof(target)); } if (PropertyName == null) { return; } if (TargetReference != null) { target = TargetReference; } object actual = target.GetValue(Property); if (!Equals(actual, Value) && !(Value is Binding) && !(Value is DynamicResource)) { //Do not reset default value if the value has been changed _originalValues.Remove(target); return; } object defaultValue; if (_originalValues.TryGetValue(target, out defaultValue)) { //reset default value, unapply bindings and dynamicResource target.SetValue(Property, defaultValue); _originalValues.Remove(target); } else { target.ClearValue(Property); } }
internal override void TearDown(BindableObject bindable) { bindable.ClearValue(_stateProperty); bindable.PropertyChanged -= OnAttachedObjectPropertyChanged; }
/// <summary> /// Assigns value to a bindable property /// </summary> public static void AssignSingle(BindableObject target, object value, BindableProperty property, Func <object, object> converter = null) { #region NPatch assignment var p = value as NPatch; if (p != null) { var oldValue = target.GetValue(property); value = p.Apply(oldValue); if (!ReferenceEquals(value, oldValue)) { target.SetValue(property, value); } return; } #endregion #region UnsetValue assignment if (IsUnsetValue(value)) { target.ClearValue(property); return; } #endregion #region NElement assignment var e = value as NElement; if (e != null) { target.SetValue(property, e.Create()); return; } #endregion #region NElement[] assignment var ea = value as NElement[]; if (ea != null) { if (ea.Length == 0) { target.ClearValue(property); } else { target.SetValue(property, ea[0].Create()); } return; } #endregion if (converter != null) { value = converter(value); } target.SetValue(property, value); }
internal override void TearDown(BindableObject bindable) { bindable.RemoveBinding(_boundProperty); bindable.ClearValue(_boundProperty); }