DataTemplate.RecycleElement(ElementFactoryRecycleArgs) 方法

定義

回收先前使用 GetElement 擷取的 UIElement

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

參數

實作

備註

RecycleElement 方法可用來保留元素以供稍後重複使用,但不會自動重設元素的目前狀態。 例如,如果控制項的背景是以程式設計方式設定值,則會在再次新增至即時樹狀結構時保存值。

GetElement 傳回的回收元素可以與新建立的元素相同方式新增至即時樹狀結構。

GetElement 會嘗試從回收的現有實例擷取現有的實例。 如果找不到任何實例,則會使用 LoadContent建立新的實例。

回收專案可能不會立即從即時元素樹狀結構中移除它。 在此情況下,除非已將卸載的/Loaded事件新增至即時樹狀結構中的不同父元素,否則不會引發。

呼叫 RecycleElement 時不需要指定 Parent 。 不過,建議使用 來啟用效能優化。 使用Parent值呼叫GetElement時,它會尋找針對相同Parent回收的專案。 如果它們仍然附加至父元素,則可以重複使用它們,而不會產生重新父代元素的額外負荷。

注意

RecycleElement 不會自動排除回收的專案參與定位順序。 它也不會隱藏元素的自動化對等,使其不會出現在自動化樹狀結構中。 平臺的內建虛擬化控制項會為其控制項下的元素管理此專案。

如果您要從頭開始建立自訂虛擬化控制項,或在一次性案例中呼叫 RecycleElement,請注意,您必須負責從定位順序和自動化對等樹狀結構中排除回收的元素。

您可以覆寫 GetChildrenInTabFocusOrder ,並提供架構應該用於 Tab 焦點的實現元素子集。 同樣地,控制項的自動化對等應該覆寫其 GetChildrenCore ,並排除回收的專案。

適用於

另請參閱