DependencyProperty.OverrideMetadata Metoda
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.
Dostarcza alternatywne metadane dla tej właściwości zależności, gdy jest obecny w wystąpieniach określonego typu, w porównaniu z metadanymi podanymi w początkowej rejestracji właściwości zależności.
Przeciążenia
OverrideMetadata(Type, PropertyMetadata) |
Określa alternatywne metadane dla tej właściwości zależności, gdy jest obecny w wystąpieniach określonego typu, przesłaniając metadane, które istniały dla właściwości zależności, ponieważ były dziedziczone z typów podstawowych. |
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey) |
Dostarcza alternatywne metadane dla właściwości zależności tylko do odczytu, gdy jest obecny w wystąpieniach określonego typu, przesłaniając metadane podane w początkowej rejestracji właściwości zależności. Aby uniknąć zgłaszania wyjątku DependencyPropertyKey , należy przekazać właściwość zależności tylko do odczytu. |
OverrideMetadata(Type, PropertyMetadata)
Określa alternatywne metadane dla tej właściwości zależności, gdy jest obecny w wystąpieniach określonego typu, przesłaniając metadane, które istniały dla właściwości zależności, ponieważ były dziedziczone z typów podstawowych.
public:
void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata);
public void OverrideMetadata (Type forType, System.Windows.PropertyMetadata typeMetadata);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata)
Parametry
- forType
- Type
Typ, w którym ta właściwość zależności jest dziedziczona i gdzie będą stosowane podane alternatywne metadane.
- typeMetadata
- PropertyMetadata
Metadane, które mają być stosowane do właściwości zależności w typie zastępowania.
Wyjątki
Podjęto próbę zastąpienia metadanych we właściwości zależności tylko do odczytu (tej operacji nie można wykonać przy użyciu tego podpisu).
Metadane zostały już ustanowione dla właściwości zależności, ponieważ istnieje w podanym typie.
Uwagi
Metadane właściwości zależności powinny zostać zastąpione, zanim system właściwości używa właściwości zależności. Jest to równoznaczne z czasem utworzenia określonych wystąpień przy użyciu klasy, która rejestruje właściwość zależności. Wywołania metody OverrideMetadata do powinny być wykonywane tylko w konstruktorach statycznych typu, który podaje się jako forType
parametr tej metody lub za pośrednictwem podobnego wystąpienia. Próba zmiany metadanych po wystąpieniu typu właściciela nie będzie zgłaszać wyjątków, ale spowoduje niespójne zachowania w systemie właściwości.
Po ustanowieniu metadanych dla określonej klasy pochodnej za pomocą tej metody kolejne próby zastąpienia metadanych w tej samej klasie pochodnej spowodują wystąpienie wyjątku.
Podane metadane są scalane z metadanymi właściwości właściwości dla właściwości zależności, ponieważ istnieje ona u właściciela podstawowego. Wszelkie cechy określone w oryginalnych metadanych podstawowych będą utrwalane; tylko te cechy, które zostały specjalnie zmienione w nowych metadanych, zastąpią cechy podstawowych metadanych. Niektóre cechy, takie jak DefaultValue , są zastępowane, jeśli określono je w nowych metadanych. Inne, takie jak PropertyChangedCallback, są łączone. Ostatecznie zachowanie scalania zależy od typu metadanych właściwości używanego do zastąpienia, więc zachowanie opisane tutaj dotyczy istniejących klas metadanych właściwości używanych przez właściwości zależności WPF. Aby uzyskać szczegółowe informacje, zobacz Metadane właściwości zależności i metadane właściwości struktury.
Dotyczy
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)
Dostarcza alternatywne metadane dla właściwości zależności tylko do odczytu, gdy jest obecny w wystąpieniach określonego typu, przesłaniając metadane podane w początkowej rejestracji właściwości zależności. Aby uniknąć zgłaszania wyjątku DependencyPropertyKey , należy przekazać właściwość zależności tylko do odczytu.
public:
void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::DependencyPropertyKey ^ key);
public void OverrideMetadata (Type forType, System.Windows.PropertyMetadata typeMetadata, System.Windows.DependencyPropertyKey key);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata * System.Windows.DependencyPropertyKey -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata, key As DependencyPropertyKey)
Parametry
- forType
- Type
Typ, w którym ta właściwość zależności jest dziedziczona i gdzie będą stosowane podane alternatywne metadane.
- typeMetadata
- PropertyMetadata
Metadane, które mają być stosowane do właściwości zależności w typie zastępowania.
Klucz dostępu dla właściwości zależności tylko do odczytu.
Uwagi
Ten podpis zapewnia podstawową implementację metody właściwości zależności tylko do odczytu (DependencyPropertyKey). W przypadku zastępowania metadanych dla właściwości zależności odczytu i zapisu użyj polecenia OverrideMetadata(Type, PropertyMetadata).
Metadane właściwości zależności powinny zostać zastąpione, zanim system właściwości używa właściwości zależności. Jest to równoznaczne z czasem utworzenia określonych obiektów dla klasy, która rejestruje właściwość zależności. Wywołania metody OverrideMetadata do powinny być wykonywane tylko w konstruktorach statycznych typu, który podaje się jako forType
parametr tej metody lub za pośrednictwem podobnego wystąpienia. Próba zmiany metadanych po wystąpieniu typu właściciela nie będzie zgłaszać wyjątków, ale spowoduje niespójne zachowania w systemie właściwości.
Po ustanowieniu metadanych dla określonej klasy pochodnej za pomocą tej metody kolejne próby zastąpienia metadanych w tej samej klasie pochodnej spowodują wystąpienie wyjątku.
Podane metadane są scalane z metadanymi właściwości właściwości dla właściwości zależności, ponieważ istnieje ona u właściciela podstawowego. Wszelkie cechy określone w oryginalnych metadanych podstawowych będą utrwalane; tylko te cechy, które zostały specjalnie zmienione w nowych metadanych, zastąpią cechy podstawowych metadanych. Niektóre cechy, takie jak DefaultValue , są zastępowane, jeśli określono je w nowych metadanych. Inne, takie jak PropertyChangedCallback, są łączone. Zachowanie scalania zależy od typu metadanych właściwości używanego do zastąpienia. Aby uzyskać szczegółowe informacje, zobacz Metadane właściwości zależności i metadane właściwości struktury.