Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


DependencyObject.SetValue 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.

Ustawia wartość lokalną właściwości zależności.

Przeciążenia

SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jej identyfikator właściwości zależności.

SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określoną przez identyfikator DependencyPropertyKey właściwości zależności.

SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jej identyfikator właściwości zależności.

C#
public void SetValue(System.Windows.DependencyProperty dp, object value);

Parametry

dp
DependencyProperty

Identyfikator właściwości zależności do ustawienia.

value
Object

Nowa wartość lokalna.

Wyjątki

Podjęto próbę zmodyfikowania właściwości zależności tylko do odczytu lub właściwości na zapieczętowanym DependencyObject.

value nie był poprawnym typem zarejestrowanym dla właściwości dp.

Uwagi

Jeśli podany typ nie jest zgodny z typem zadeklarowanym dla właściwości zależności, ponieważ został pierwotnie zarejestrowany, zgłaszany jest wyjątek. Parametr value należy zawsze podać jako odpowiedni typ.

Warunki wyjątku mogą mieć wpływ na wywołanie zwrotne ValidateValueCallback, które istnieje na identyfikator właściwości zależności ustawianej właściwości zależności. W przeciwnym razie podana wartość może zakończyć się niepowodzeniem ogólnych warunków sprawdzania typów (na przykład przekazanie ciągu, gdy typ natywny to Double).

Dotyczy

.NET Framework 4.8.1 i inne wersje
Produkt Wersje
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określoną przez identyfikator DependencyPropertyKey właściwości zależności.

C#
public void SetValue(System.Windows.DependencyPropertyKey key, object value);

Parametry

key
DependencyPropertyKey

Identyfikator DependencyPropertyKey właściwości do ustawienia.

value
Object

Nowa wartość lokalna.

Przykłady

W poniższym przykładzie zdefiniowano właściwość zależności tylko do odczytu wraz z public static readonlyDependencyProperty, która zapewnia niezbędną ekspozycję tylko do odczytu dla odbiorców właściwości, oraz metodę uzyskiwania dostępu do otoki CLR.

C#
internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}

Uwagi

Ten podpis jest zwykle używany podczas ustawiania wartości właściwości zależności tylko do odczytu zdefiniowanych przez klasy niestandardowe. Ogólnie rzecz biorąc, SetValue jest wywoływana tylko z typu, który zarejestrował tę właściwość zależności, która implementuje wewnętrzną logikę, która zapewnia określoną wartość dla właściwości zależności. Aby uzyskać więcej informacji, zobacz właściwości zależności Read-Only.

Jeśli podany typ nie jest zgodny z typem zadeklarowanym dla właściwości zależności, ponieważ został pierwotnie zarejestrowany, zgłaszany jest wyjątek. Parametr value należy zawsze podać jako odpowiedni typ. Warunki wyjątku mogą mieć wpływ na wywołanie zwrotne ValidateValueCallback, które istnieje na identyfikator właściwości zależności ustawianej właściwości zależności.

Dotyczy

.NET Framework 4.8.1 i inne wersje
Produkt Wersje
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10