Exemple #1
0
        private void ApplyRegistration(DataBindingRegistration <TLayerProperty, TProperty> dataBindingRegistration)
        {
            if (dataBindingRegistration == null)
            {
                throw new ArgumentNullException(nameof(dataBindingRegistration));
            }

            dataBindingRegistration.DataBinding = this;
            Converter    = dataBindingRegistration?.Converter;
            Registration = dataBindingRegistration;

            if (GetTargetType().IsValueType)
            {
                if (_currentValue == null)
                {
                    _currentValue = default;
                }
                if (_previousValue == null)
                {
                    _previousValue = default;
                }
            }

            Converter?.Initialize(this);
        }
Exemple #2
0
        internal DataBinding(DataBindingRegistration <TLayerProperty, TProperty> dataBindingRegistration)
        {
            LayerProperty = dataBindingRegistration.LayerProperty;
            Entity        = new DataBindingEntity();

            ApplyRegistration(dataBindingRegistration);
            Save();
            ApplyDataBindingMode();
        }
Exemple #3
0
        /// <inheritdoc />
        public void Load()
        {
            if (_disposed)
            {
                throw new ObjectDisposedException("DataBinding");
            }

            // General
            DataBindingRegistration <TLayerProperty, TProperty> registration = LayerProperty.GetDataBindingRegistration <TProperty>(Entity.TargetExpression);

            if (registration != null)
            {
                ApplyRegistration(registration);
            }

            EasingTime     = Entity.EasingTime;
            EasingFunction = (Easings.Functions)Entity.EasingFunction;

            DataBindingMode?.Load();
        }