DependencyObject.SetValue Metoda

Definice

Nastaví místní hodnotu vlastnosti závislosti.

Přetížení

SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou jeho identifikátorem vlastnosti závislosti.

SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti.

SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou jeho identifikátorem vlastnosti závislosti.

public:
 void SetValue(System::Windows::DependencyProperty ^ dp, System::Object ^ value);
public void SetValue (System.Windows.DependencyProperty dp, object value);
member this.SetValue : System.Windows.DependencyProperty * obj -> unit
Public Sub SetValue (dp As DependencyProperty, value As Object)

Parametry

dp
DependencyProperty

Identifikátor vlastnosti závislosti, která se má nastavit.

value
Object

Nová místní hodnota.

Výjimky

Došlo k pokusu o úpravu vlastnosti závislosti jen pro čtení nebo vlastnosti zapečetěné DependencyObject.

value nebyl správný typ, který je registrován pro dp vlastnost.

Poznámky

Pokud zadaný typ neodpovídá typu, který je deklarován pro vlastnost závislost, protože byl původně zaregistrován, vyvolá se výjimka. Parametr value by měl být vždy zadán jako příslušný typ.

Podmínky výjimky bývají potenciálně ovlivněny zpětným voláním ValidateValueCallback , které existuje u identifikátoru vlastnosti závislosti nastavené vlastnosti závislosti. Jinak zadaná hodnota může selhávát s obecnými podmínkami kontroly typů (například předání řetězce, pokud je nativní typ Double).

Platí pro

SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti.

public:
 void SetValue(System::Windows::DependencyPropertyKey ^ key, System::Object ^ value);
public void SetValue (System.Windows.DependencyPropertyKey key, object value);
member this.SetValue : System.Windows.DependencyPropertyKey * obj -> unit
Public Sub SetValue (key As DependencyPropertyKey, value As Object)

Parametry

key
DependencyPropertyKey

Identifikátor DependencyPropertyKey vlastnosti, která se má nastavit.

value
Object

Nová místní hodnota.

Příklady

Následující příklad definuje vlastnost závislostí jen pro čtení spolu s public static readonly DependencyProperty tím, která poskytuje nezbytné riziko jen pro čtení pro uživatele vlastností, a get accessor pro obálku CLR.

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); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

Poznámky

Tento podpis se obvykle používá při nastavování hodnot pro vlastnosti závislostí jen pro čtení, které jsou definovány vlastními třídami. Obecně se SetValue volá pouze z typu, který zaregistroval tuto vlastnost závislostí, která implementuje interní logiku, která poskytuje určenou hodnotu vlastnosti závislosti. Další informace naleznete v tématu Vlastnosti závislostí jen pro čtení.

Pokud zadaný typ neodpovídá typu, který je deklarován pro vlastnost závislost, protože byl původně zaregistrován, vyvolá se výjimka. Parametr value by měl být vždy zadán jako příslušný typ. Podmínky výjimky bývají potenciálně ovlivněny zpětným voláním ValidateValueCallback , které existuje u identifikátoru vlastnosti závislosti nastavené vlastnosti závislosti.

Platí pro