DependencyObject.CoerceValue(DependencyProperty) Método

Definição

Converte o valor da propriedade de dependência especificada.Coerces the value of the specified dependency property. 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.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling 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.The identifier for the dependency property to coerce.

Exceções

O dp especificado ou seu valor eram inválido ou não existem.The specified dp or its value were invalid or do not exist.

Exemplos

O exemplo a seguir chama CoerceValue em uma implementação de PropertyChangedCallback que é usada como o PropertyChangedCallback para propriedades de dependência diferentes na mesma classe.The following example calls CoerceValue within a PropertyChangedCallback implementation that is used as the PropertyChangedCallback for a different dependency properties on the same class. Esse é um padrão comum para introduzir dependências de valor verdadeiro entre as propriedades de dependência.This is a common pattern for introducing true value dependencies between dependency properties.

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 invocado explicitamente por meio da chamada de CoerceValue, o CoerceValueCallback para uma propriedade de dependência também é invocado internamente sempre que o valor da propriedade de dependência está sendo reavaliado pelo sistema de propriedades WPFWPF.In addition to being explicitly invoked through calling CoerceValue, the CoerceValueCallback for a dependency property is also invoked internally whenever the dependency property value is being re-evaluated by the WPFWPF property system.

Ao invocar o método CoerceValue, você está, finalmente, invocando o retorno de chamada de valor forçado para a propriedade que você especificar.When you invoke the CoerceValue method, you are ultimately invoking the coerce value callback for the property that you specify. Em geral, você só invocará CoerceValue se souber que um retorno de chamada de valor forçado existe e se você souber os critérios do retorno de chamada para coerção.Typically you will invoke CoerceValue only if you know that a coerce value callback exists, and if you know the callback's criteria for coercion.

O cenário mais comum para chamar CoerceValue é dentro do tratamento de classe ou retornos de chamada de alteração de propriedade de propriedades relacionadas que influenciam os valores uns dos outros de uma maneira dependente.The most common scenario for calling CoerceValue is within class handling or property change callbacks of related properties that influence each other's values in a dependent way. Para obter mais informações, consulte Retornos de chamada da propriedade de dependência e validação.For more information, see Dependency Property Callbacks and Validation.

Aplica-se a

Veja também