Compartilhar via


DataTemplate.RecycleElement(ElementFactoryRecycleArgs) Método

Definição

Recicla um UIElement que foi recuperado anteriormente usando GetElement.

void RecycleElement(ElementFactoryRecycleArgs const& args);
public void RecycleElement(ElementFactoryRecycleArgs args);
function recycleElement(args)
Public Sub RecycleElement (args As ElementFactoryRecycleArgs)

Parâmetros

Implementações

Comentários

O método RecycleElement é usado para reservar um elemento para reutilização posterior, mas não redefine automaticamente o estado atual do elemento. Por exemplo, se a tela de fundo de um controle for definida programaticamente, o valor persistirá quando adicionado à árvore dinâmica novamente.

Elementos reciclados retornados de GetElement podem ser adicionados à árvore dinâmica da mesma forma que os elementos recém-criados.

GetElement tenta recuperar uma instância existente daquelas que foram recicladas. Se nenhum for encontrado, ele criará uma nova instância usando LoadContent.

A reciclagem de um elemento pode não fazer com que ele seja removido imediatamente da árvore de elementos dinâmicos. Nessa situação, os eventos Unloaded/Loaded não são gerados, a menos que sejam adicionados a um elemento pai diferente na árvore dinâmica.

Especificar o Pai não é necessário ao chamar RecycleElement. No entanto, seu uso é recomendado para habilitar uma otimização de desempenho. Quando GetElement for chamado com um valor Parent , ele procurará elementos que serão reciclados para o mesmo Pai. Se eles ainda estiverem anexados ao elemento pai, eles poderão ser reutilizados sem incorrer na sobrecarga adicional de re-parenting do elemento.

Observação

RecycleElement não exclui automaticamente o elemento reciclado de participar da ordem de tabulação. Também não oculta a exibição do par de automação do elemento na árvore de automação. Os controles internos de virtualização da plataforma gerenciam isso para os elementos sob seu controle.

Se você estiver criando um controle de virtualização personalizado do zero ou chamando RecycleElement em cenários únicos, lembre-se de que é sua responsabilidade excluir elementos reciclados da ordem de tabulação e da árvore de pares de automação.

Você pode substituir GetChildrenInTabFocusOrder e fornecer o subconjunto de elementos realizados que a estrutura deve usar para o foco de Tab. Da mesma forma, o par de automação para o controle deve substituir seu GetChildrenCore e excluir elementos reciclados.

Aplica-se a

Confira também