Compartilhar via


DependencyObject.SetValue Método

Definição

Define o valor local de uma propriedade de dependência.

Sobrecargas

SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência.

SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey da propriedade de dependência.

SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência.

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

O identificador da propriedade de dependência a ser definida.

value
Object

O novo valor local.

Exceções

Tentativa de modificar uma propriedade de dependência somente leitura ou uma propriedade em um DependencyObjectlacrado.

value não era o tipo correto conforme registrado para a propriedade dp.

Comentários

Se o tipo fornecido não corresponder ao tipo declarado para a propriedade de dependência como ela foi registrada originalmente, uma exceção será gerada. O parâmetro value sempre deve ser fornecido como o tipo apropriado.

As condições de exceção são potencialmente influenciadas pelo retorno de chamada ValidateValueCallback que existe no identificador de propriedade de dependência da propriedade de dependência que está sendo definida. Caso contrário, o valor fornecido poderá estar falhando nas condições gerais de verificação de tipo (por exemplo, passando uma cadeia de caracteres quando o tipo nativo for Double).

Aplica-se a

SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey da propriedade de dependência.

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

O identificador DependencyPropertyKey da propriedade a ser definida.

value
Object

O novo valor local.

Exemplos

O exemplo a seguir define uma propriedade de dependência somente leitura, juntamente com uma public static readonlyDependencyProperty que fornece a exposição somente leitura necessária aos consumidores de propriedade e o acessador get para o wrapper 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

Comentários

Essa assinatura geralmente é usada quando você define valores para propriedades de dependência somente leitura definidas por suas classes personalizadas. Geralmente, SetValue é chamado somente do tipo que registrou essa propriedade de dependência, que implementa a lógica interna que fornece o valor determinado para a propriedade de dependência. Para obter mais informações, consulte Read-Only propriedades de dependência.

Se o tipo fornecido não corresponder ao tipo declarado para a propriedade de dependência como ela foi registrada originalmente, uma exceção será gerada. O parâmetro value sempre deve ser fornecido como o tipo apropriado. As condições de exceção são potencialmente influenciadas pelo retorno de chamada ValidateValueCallback que existe no identificador de propriedade de dependência da propriedade de dependência que está sendo definida.

Aplica-se a