DependencyObject.SetValue Metodo

Definizione

Imposta il valore locale di una proprietà di dipendenza.

Overload

SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dall'identificatore della proprietà di dipendenza.

SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dall'identificatore della proprietà di dipendenza.

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

Parametri

dp
DependencyProperty

Identificatore della proprietà di dipendenza da impostare.

value
Object

Nuovo valore locale.

Eccezioni

Tentativo di modificare una proprietà di dipendenza di sola lettura o una proprietà in un DependencyObjectsealed.

value non era il tipo corretto registrato per la proprietà dp.

Commenti

Se il tipo specificato non corrisponde al tipo dichiarato per la proprietà di dipendenza come originariamente registrato, viene generata un'eccezione. Il parametro value deve essere sempre fornito come tipo appropriato.

Le condizioni di eccezione sono potenzialmente influenzate dal callback ValidateValueCallback presente nell'identificatore della proprietà di dipendenza della proprietà di dipendenza da impostare. In caso contrario, il valore specificato potrebbe non riuscire a verificare le condizioni generali di controllo dei tipi, ad esempio passando una stringa quando il tipo nativo è Double.

Si applica a

.NET Framework 4.8.1 e altre versioni
Prodotto Versioni
.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)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

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

Parametri

key
DependencyPropertyKey

Identificatore DependencyPropertyKey della proprietà da impostare.

value
Object

Nuovo valore locale.

Esempio

Nell'esempio seguente viene definita una proprietà di dipendenza di sola lettura, insieme a un public static readonlyDependencyProperty che fornisce l'esposizione di sola lettura necessaria ai consumer di proprietà e alla funzione di accesso get per il wrapper 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); }
}

Commenti

Questa firma viene in genere usata quando si impostano valori per le proprietà di dipendenza di sola lettura definite dalle classi personalizzate. In genere, SetValue viene chiamato solo dal tipo che ha registrato la proprietà di dipendenza, che implementa la logica interna che fornisce il valore determinato per la proprietà di dipendenza. Per altre informazioni, vedere Read-Only Proprietà di dipendenza.

Se il tipo specificato non corrisponde al tipo dichiarato per la proprietà di dipendenza come originariamente registrato, viene generata un'eccezione. Il parametro value deve essere sempre fornito come tipo appropriato. Le condizioni di eccezione sono potenzialmente influenzate dal callback ValidateValueCallback presente nell'identificatore della proprietà di dipendenza della proprietà di dipendenza da impostare.

Si applica a

.NET Framework 4.8.1 e altre versioni
Prodotto Versioni
.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