DependencyObject.SetValue Método

Definición

Establece el valor local de una propiedad de dependencia.

Sobrecargas

SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.

SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.

SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.

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)

Parámetros

dp
DependencyProperty

Identificador de la propiedad de dependencia que se va a establecer.

value
Object

Nuevo valor local.

Excepciones

Se intentó modificar una propiedad de dependencia de solo lectura o una propiedad en una clase DependencyObject sellada.

value no era el tipo correcto registrado para la propiedad dp.

Comentarios

Si el tipo proporcionado no coincide con el tipo declarado para la propiedad de dependencia tal como se registró originalmente, se produce una excepción. El value parámetro siempre debe proporcionarse como el tipo adecuado.

Las condiciones de excepción pueden verse afectadas por la ValidateValueCallback devolución de llamada que existe en el identificador de propiedad de dependencia de la propiedad de dependencia que se está estableciendo. De lo contrario, el valor proporcionado podría producir un error en las condiciones generales de comprobación de tipos (por ejemplo, pasar una cadena cuando el tipo nativo es Double).

Se aplica a

SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.

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)

Parámetros

key
DependencyPropertyKey

Identificador DependencyPropertyKey de la propiedad que se debe establecer.

value
Object

Nuevo valor local.

Ejemplos

En el ejemplo siguiente se define una propiedad de dependencia de solo lectura, junto con un public static readonlyDependencyProperty objeto que proporciona la exposición necesaria de solo lectura a los consumidores de propiedades y el descriptor de acceso get para el contenedor 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

Comentarios

Esta firma se usa generalmente al establecer valores para las propiedades de dependencia de solo lectura definidas por las clases personalizadas. Por lo general, SetValue solo se llama desde el tipo que registró esa propiedad de dependencia, que implementa la lógica interna que proporciona el valor determinado para la propiedad de dependencia. Para obtener más información, consulte Propiedades de dependencia de solo lectura.

Si el tipo proporcionado no coincide con el tipo declarado para la propiedad de dependencia tal como se registró originalmente, se produce una excepción. El value parámetro siempre debe proporcionarse como el tipo adecuado. Las condiciones de excepción pueden verse afectadas por la ValidateValueCallback devolución de llamada que existe en el identificador de propiedad de dependencia de la propiedad de dependencia que se está estableciendo.

Se aplica a