DependencyObject.CoerceValue(DependencyProperty) Método

Definição

Converte o valor da propriedade de dependência especificada. Isso é feito invocando qualquer função CoerceValueCallback especificada nos metadados de propriedade para a propriedade de dependência, visto que ela existe na chamada a DependencyObject.

public:
 void CoerceValue(System::Windows::DependencyProperty ^ dp);
public void CoerceValue (System.Windows.DependencyProperty dp);
member this.CoerceValue : System.Windows.DependencyProperty -> unit
Public Sub CoerceValue (dp As DependencyProperty)

Parâmetros

dp
DependencyProperty

O identificador para a propriedade de dependência impor.

Exceções

O dp especificado ou seu valor eram inválido ou não existem.

Exemplos

O exemplo a seguir chama CoerceValue dentro de uma PropertyChangedCallback implementação que é usada como para PropertyChangedCallback propriedades de dependência diferentes na mesma classe. Esse é um padrão comum para introduzir dependências de valor verdadeiro entre propriedades de dependência.

private static void OnCurrentReadingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
  d.CoerceValue(MinReadingProperty);
  d.CoerceValue(MaxReadingProperty);
}
Private Shared Sub OnCurrentReadingChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
    d.CoerceValue(MinReadingProperty)
    d.CoerceValue(MaxReadingProperty)
End Sub

Comentários

Além de ser invocada explicitamente por meio da chamada CoerceValue, a CoerceValueCallback propriedade de dependência também é invocada internamente sempre que o valor da propriedade de dependência está sendo reavaliado pelo sistema de propriedades do WPF.

Ao invocar o CoerceValue método, você está invocando o retorno de chamada de valor de coerção para a propriedade especificada. Normalmente, você invocará CoerceValue somente se souber que existe um retorno de chamada de valor de coerção e se souber os critérios do retorno de chamada para coerção.

O cenário mais comum para chamadas CoerceValue é dentro de tratamento de classe ou retorno de chamada de alteração de propriedade de propriedades relacionadas que influenciam os valores uns dos outros de forma dependente. Para obter mais informações, consulte Retornos de chamada da propriedade de dependência e validação.

Aplica-se a

Confira também