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.

C#
public void CoerceValue (System.Windows.DependencyProperty dp);

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.

C#
private static void OnCurrentReadingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
  d.CoerceValue(MinReadingProperty);
  d.CoerceValue(MaxReadingProperty);
}

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

Produto Versões
.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
Windows Desktop 3.0, 3.1, 5, 6, 7

Confira também