Пример #1
0
 /// <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);
     }
 }
Пример #2
0
 /// <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);
     }
 }
Пример #3
0
 /// <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);
     }
 }
Пример #4
0
        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);
                }
            }
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
            }
        }
Пример #7
0
 internal override void TearDown(BindableObject bindable)
 {
     bindable.ClearValue(_stateProperty);
     bindable.PropertyChanged -= OnAttachedObjectPropertyChanged;
 }
Пример #8
0
        /// <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);
 }
Пример #10
0
		internal override void TearDown(BindableObject bindable)
		{
			bindable.RemoveBinding(_boundProperty);
			bindable.ClearValue(_boundProperty);
		}
Пример #11
0
		internal override void TearDown(BindableObject bindable)
		{
			bindable.ClearValue(_stateProperty);
			bindable.PropertyChanged -= OnAttachedObjectPropertyChanged;
		}