Share via


DataTemplate.RecycleElement(ElementFactoryRecycleArgs) Metodo

Definizione

Ricicla un OGGETTO UIElement recuperato in precedenza usando GetElement.

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

Parametri

Implementazioni

Commenti

Il metodo RecycleElement viene utilizzato per riservare un elemento per un successivo riutilizzo, ma non reimposta automaticamente lo stato corrente dell'elemento. Ad esempio, se lo sfondo di un controllo viene impostato a livello di codice, il valore persiste quando viene aggiunto di nuovo all'albero attivo.

Gli elementi riciclati restituiti da GetElement possono essere aggiunti all'albero attivo allo stesso modo degli elementi appena creati.

GetElement tenta di recuperare un'istanza esistente da quelle riciclate. Se non viene trovato alcun elemento, verrà creata una nuova istanza usando LoadContent.

Il riciclo di un elemento potrebbe non essere immediatamente causato dalla rimozione dall'albero degli elementi attivi. In tal caso, gli eventi Loaded/ scaricati non vengono generati a meno che non venga aggiunto a un elemento padre diverso nell'albero attivo.

Quando si chiama RecycleElement, non è necessario specificare l'elemento Padre . Tuttavia, è consigliabile usarlo per abilitare un'ottimizzazione delle prestazioni. Quando GetElement viene chiamato con un valore Parent , cerca gli elementi in cui viene riciclato per lo stesso elemento Parent. Se sono ancora collegati all'elemento padre, possono essere riutilizzati senza incorrere nell'overhead aggiuntivo di ri-parenting dell'elemento.

Nota

RecycleElement non esclude automaticamente l'elemento riciclato dalla partecipazione all'ordine di tabulazione. Né nasconde la visualizzazione del peer di automazione dell'elemento nell'albero di automazione. I controlli di virtualizzazione predefiniti della piattaforma gestiscono questa funzionalità per gli elementi sotto il relativo controllo.

Se si crea un controllo di virtualizzazione personalizzato da zero o si chiama RecycleElement in scenari occasionali, tenere presente che è responsabilità dell'utente escludere elementi riciclati dall'ordine di tabulazione e dall'albero dei peer di automazione.

È possibile eseguire l'override di GetChildrenInTabFocusOrder e fornire il subset di elementi realizzati che il framework deve usare per lo stato attivo tabulazione. Analogamente, il peer di automazione per il controllo deve eseguire l'override di GetChildrenCore ed escludere elementi riciclati.

Si applica a

Vedi anche