PropertyMetadata.IsSealed Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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) _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)
{//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 read-write. Dzięki temu 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 wywoływana jest wartość , a wartość tej właściwości jest ustawiona na truewartość .