FrameworkElement.OnVisualParentChanged(DependencyObject) 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.
Invocado quando o pai deste elemento na árvore visual é alterado. Anula OnVisualParentChanged(DependencyObject).
protected public:
override void OnVisualParentChanged(System::Windows::DependencyObject ^ oldParent);
protected internal override void OnVisualParentChanged(System.Windows.DependencyObject oldParent);
override this.OnVisualParentChanged : System.Windows.DependencyObject -> unit
Protected Friend Overrides Sub OnVisualParentChanged (oldParent As DependencyObject)
Parâmetros
- oldParent
- DependencyObject
O antigo elemento parental. Pode indicar null que o elemento não tinha um pai visual anteriormente.
Observações
A árvore visual é potencialmente diferente da árvore lógica porque omite elementos que não são renderizados visualmente, como coleções, e expande alguns elementos com base na composição de temas e estilos. Para mais informações, consulte Árvores em WPF.
Notas para Herdeiros
A implementação padrão deste método virtual consulta o novo pai, gera vários eventos de inicialização e define flags internos sobre o estado de inicialização do FrameworkElement conforme apropriado. Finalmente, chama as implementações base sucessivas como declaradas por UIElement, que por sua vez chama a sua base em Visual. Chame sempre a implementação base para preservar este comportamento, caso contrário o comportamento da árvore de elementos para este elemento, quando declarado como filho de outro elemento, pode não ser o esperado.
Algumas classes Windows Presentation Foundation (WPF) existentes sobrepõem este método, por exemplo: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). O cenário mais comum é impor que o novo progenitor deve ser de um tipo específico. Isto pode envolver lançar uma exceção se o novo progenitor falhou algum tipo de teste de tipo. Existe uma versão especializada deste cenário em implementações para itens de lista e itens de menu, que não fazem sentido fora de um visual pai que possui uma coleção apropriada para os armazenar. Note-se que estes casos não levantam necessariamente exceções, pois podem existir cenários concebidos que dependem de elementos de reparentalização que momentaneamente não têm os seus pais "regulares".
Este método é também sobreposto em certos elementos que são tipicamente o elemento raiz, como Window. Outro caso são elementos que são o elemento raiz aparente na marcação, mas que autogeram uma infraestrutura maior numa árvore lógica compilada (como Page). As Window implementações e Page selam deliberadamente o método.