Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Método DependencyObject.InvalidateProperty

Avalia o valor efetivo de propriedade de dependência especificado

Namespace:  System.Windows
Assembly:  WindowsBase (em WindowsBase.dll)
public void InvalidateProperty(
	DependencyProperty dp
)

Parâmetros

dp
Tipo: System.Windows.DependencyProperty
O DependencyProperty identificador da propriedade para invalidar.

Quando você chama InvalidateProperty, qualquer associado e aplicável CoerceValueCallback ou PropertyChangedCallback as funções registradas para essa propriedade de dependência pode ser chamada.

Chamando InvalidateProperty em uma propriedade que tem seu valor local definido só terá efeito, porque o valor local tem precedência sobre outras entradas de sistema de propriedade, exceto para animações. No entanto, você poderia chamar ClearValue, em seguida, chame InvalidateProperty. Para obter mais informações, consulte Precedência de valores de propriedade de dependência .

Chamando InvalidateProperty não é necessariamente aplicável para muitos cenários de propriedade de dependência. Se uma propriedade de dependência se torna invalidada devido às alterações de valor em qualquer um dos constituintes, o sistema de propriedades invalida e reavalia a propriedade de dependência automaticamente. No entanto, ainda existem alguns cenários apropriados onde InvalidateProperty é útil. Em particular, você pode usar InvalidateProperty dentro do coerce valor ou a propriedade alterada retorno de chamada para uma propriedade de dependência diferentes. Você também pode usar InvalidateProperty para forçar a reavaliação de uma vinculação contra uma fonte de dados que não seja capaz de implementar o recomendado INotifyPropertyChanged mecanismo de notificação (talvez se consumindo classes de dados que não pode ser derivado, ou onde os dados são um membro estático).

O exemplo a seguir chama InvalidateProperty em uma propriedade personalizada, sempre que propriedades estão envolvidas em cálculos da propriedade invalidados mudam. Essa é uma técnica alternativa a chamar o CoerceValue método, porque a propriedade de invalidação também irá chamar qualquer registrado CoerceValueCallback.


static AreaButton()
{
    WidthProperty.OverrideMetadata(typeof(AreaButton), new FrameworkPropertyMetadata(new PropertyChangedCallback(InvalidateAreaProperty)));
    HeightProperty.OverrideMetadata(typeof(AreaButton), new FrameworkPropertyMetadata(new PropertyChangedCallback(InvalidateAreaProperty)));
}
static void InvalidateAreaProperty(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
    d.InvalidateProperty(AreaProperty);
}


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.