PropertyMetadata.IsSealed Właściwość

Definicja

Pobiera wartość określającą, czy metadane zostały zastosowane do właściwości w jakiś sposób, co powoduje niezmienny stan tego wystąpienia metadanych.

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

Wartość właściwości

Boolean

true jeśli wystąpienie metadanych jest niezmienne; w przeciwnym razie , false.

Przykłady

Poniższy przykład sprawdza IsSealed przed operacją zestawu właściwości metadanych niestandardowych.

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

Uwagi

Różne właściwości , PropertyMetadatatakie jak DefaultValue, są definiowane w modelu obiektów jako odczyt-zapis. Jest tak, aby te właściwości można dostosować po zainicjowaniu PropertyMetadata samego obiektu. Jednak po zastosowaniu metadanych do właściwości zależności w ramach wywołania metody Register, AddOwnerlub OverrideMetadatasystem właściwości przypieczętuje, że wystąpienie metadanych i właściwości są teraz uznawane za niezmienne. W momencie jednego z tych wywołań OnApply jest wywoływana, a wartość tej właściwości jest ustawiona na truewartość .

Dotyczy

Zobacz też