DependencyObject.SetValue Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Establece el valor local de una propiedad de dependencia.
Sobrecargas
SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia. |
SetValue(DependencyPropertyKey, Object) |
Establece el valor local de una propiedad de dependencia de solo lectura, especificada por el identificador DependencyPropertyKey de la propiedad de dependencia. |
SetValue(DependencyProperty, Object)
Establece el valor local de una propiedad de dependencia, especificado por su identificador de 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
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 un DependencyObjectsellado.
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 parámetro value
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, especificada 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
Identificador DependencyPropertyKey de la propiedad que se va a establecer.
- value
- Object
Nuevo valor local.
Ejemplos
En el ejemplo siguiente se define una propiedad de dependencia de solo lectura, junto con una public static readonly
DependencyProperty que proporciona la exposición de solo lectura necesaria 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, solo se llama a SetValue 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 Read-Only Propiedades de dependencia.
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 parámetro value
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.