PropertyMetadata.IsSealed Vlastnost

Definice

Získá hodnotu, která určuje, zda metadata byla použita na vlastnost nějakým způsobem, což vede k neměnném stavu dané instance metadat.

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

Hodnota vlastnosti

Boolean

truepokud je instance metadat neměnná; v opačném případě . false

Příklady

Následující příklad zkontroluje IsSealed před nastavenou operací vlastní vlastnosti metadat.

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;
        }
    }
}

Poznámky

Různé vlastnosti , například DefaultValue, jsou definovány PropertyMetadatav objektovém modelu jako čtení-zápis. To znamená, že tyto vlastnosti lze upravit po inicializaci samotného objektu PropertyMetadata . Jakmile se však metadata použijí na vlastnost závislosti v rámci volání Register, AddOwnernebo OverrideMetadata, systém vlastností zapečetí, že instance metadat a vlastnosti jsou nyní považovány za neměnné. V době jednoho z těchto volání se OnApply volá a hodnota této vlastnosti je nastavena na true.

Platí pro

Viz také