PropertyMetadata.IsSealed PropertyMetadata.IsSealed PropertyMetadata.IsSealed PropertyMetadata.IsSealed Property

Определение

Возвращает значение, определяющее, были ли применены метаданные к свойству, что привело к запрету изменений экземпляра метаданных.Gets a value that determines whether the metadata has been applied to a property in some way, resulting in the immutable state of that metadata instance.

protected:
 property bool IsSealed { bool get(); };
protected bool IsSealed { get; }
member this.IsSealed : bool
Protected ReadOnly Property IsSealed As Boolean

Значение свойства

true, если экземпляр метаданных не подлежит изменениям; в противном случае — false.true if the metadata instance is immutable; otherwise, false.

Примеры

В следующем примере проверяется IsSealed до операции задания свойства пользовательских метаданных.The following example checks IsSealed prior to a set operation of a custom metadata property.

public Boolean SupportsMyFeature
{
    get { return _supportsMyFeature; }
    set { if (this.IsSealed != true) _supportsMyFeature = value; } //else may want to raise exception 
}
protected override void Merge(PropertyMetadata baseMetadata, DependencyProperty dp)
{
    base.Merge(baseMetadata, dp);
    MyCustomPropertyMetadata mcpm = baseMetadata as MyCustomPropertyMetadata;
    if (mcpm != null)
    {
        if (this.SupportsMyFeature == false)
        {//if not set, revert to base
            this.SupportsMyFeature = mcpm.SupportsMyFeature;
        }
    }
}

Комментарии

Различные свойства PropertyMetadata, такие как DefaultValue, определенных в модели объекта в виде чтения и записи.Various properties of PropertyMetadata, such as DefaultValue, are defined in the object model as read-write. Это так, что эти свойства можно изменить после инициализации PropertyMetadata сам объект.This is so those properties can be adjusted after initialization of the PropertyMetadata object itself. Тем не менее после применения метаданных к свойству зависимостей как часть вызова Register, AddOwner, или OverrideMetadata, система свойств будет запечатать этот экземпляр метаданных и свойств, теперь считаются неизменяемыми.However, once the metadata is applied to a dependency property as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and the properties are now considered immutable. Во время одного из этих вызовов OnApply вызывается, и это свойство имеет значение true.At the time of one of these calls, OnApply is called, and the value of this property is set to true.

Применяется к

Дополнительно