Esempio n. 1
0
        /// <summary>
        /// Atribui um valor para uma propriedade.
        /// </summary>
        /// <param name="property">Propriedade que terá seu valor alterado</param>
        /// <param name="value">Novo valor da propriedade</param>
        public void SetValue(ControlProperty property, Object value)
        {
            var slot = GetSlot(property, true);

            if (slot.StoredValue == value)
            {
                return;
            }
            var oldValue = slot.StoredValue;

            slot.StoredValue = value;
            property.NotifyPropertyChanged(this, oldValue, slot.StoredValue);
        }
Esempio n. 2
0
        /// <summary>
        /// Atribui um valor para uma propriedade somente-leitura.
        /// </summary>
        /// <param name="property">Propriedade que terá seu valor alterado.</param>
        /// <param name="value">Novo valor da propriedade</param>
        protected void SetReadOnlyValue(ControlProperty property, Object value)
        {
            if (!property.IsReadOnly)
            {
                throw new InvalidOperationException(String.Format("The property {0}.{1} is not a readonly property.", property.OwnerTypeName, property.PropertyTypeName));
            }
            var slot = GetSlot(property, true);

            if (slot.StoredValue == value)
            {
                return;
            }
            var oldValue = slot.StoredValue;

            slot.SetReadOnlyValue(value);
            property.NotifyPropertyChanged(this, oldValue, slot.StoredValue);
        }