DependencyObject.CoerceValue(DependencyProperty) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Coage o valor da propriedade de dependência especificada. Isto é conseguido invocando qualquer CoerceValueCallback função especificada nos metadados da propriedade para a propriedade de dependência tal como existe na chamada 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
O identificador para a propriedade de dependência a coagir.
Exceções
O especificado dp ou o seu valor eram inválidos ou não existem.
Exemplos
O exemplo seguinte chama CoerceValue dentro de uma PropertyChangedCallback implementação que é usada como para PropertyChangedCallback diferentes propriedades de dependência na mesma classe. Este é um padrão comum para introduzir verdadeiras dependências de valor 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
Observações
Para além de ser explicitamente invocado através 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á a ser reavaliado pelo sistema de propriedades WPF.
Quando invoca o CoerceValue método, está, em última análise, a invocar o callback do valor de coerção para a propriedade que especifica. Normalmente, só invocará CoerceValue se souber que existe um callback de valor de coerção, e se souber os critérios do callback para coerção.
O cenário mais comum para chamar CoerceValue é dentro de callbacks de gestão de classes ou alteração de propriedade de propriedades relacionadas que influenciam os valores uns dos outros de forma dependente. Para mais informações, consulte Callbacks e Validação de Propriedades de Dependência.