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 != 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 true
wartość .