DataTemplate.RecycleElement(ElementFactoryRecycleArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回收先前使用GetElement擷取的UIElement。
void RecycleElement(ElementFactoryRecycleArgs const& args);
public void RecycleElement(ElementFactoryRecycleArgs args);
function recycleElement(args)
Public Sub RecycleElement (args As ElementFactoryRecycleArgs)
參數
實作
Windows 需求
裝置系列 |
Windows 10, version 1809 (已於 10.0.17763.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v7.0 引進)
|
備註
RecycleElement 方法可用來將元素設定為稍後重複使用,但不會自動重設元素的目前狀態。 例如,如果控制項的背景是以程式設計方式設定值,則會再次新增至即時樹狀結構時保存值。
從 GetElement 傳回的回收元素可以與新建立的元素相同方式新增至即時樹狀結構。
GetElement 會嘗試從回收的現有實例中擷取現有的實例。 如果找不到任何實例,則會使用 LoadContent建立新的實例。
回收專案可能不會立即從即時專案樹狀結構中移除。 在此情況下,除非已將卸載的/Loaded事件新增至即時樹狀結構中的不同父元素,否則不會引發。
呼叫 RecycleElement 時,不需要指定 Parent 。 不過,建議使用 它來啟用效能優化。 使用Parent值呼叫GetElement時,它會尋找針對該相同父代回收的專案。 如果它們仍然附加至父元素,則可以重複使用它們,而不會造成重新父代元素的額外負荷。
注意
RecycleElement 不會自動排除已回收的專案,而無法參與定位順序。 它也不會隱藏專案的自動化對等,使其不會出現在自動化樹狀結構中。 平臺的內建虛擬化控制項會為其控制項下的元素管理此專案。
如果您要從頭開始建立自訂虛擬化控制項,或在一次性案例中呼叫 RecycleElement,請注意,您必須負責從製表順序和自動化對等樹狀結構中排除回收的專案。
您可以覆寫 GetChildrenInTabFocusOrder ,並提供架構應該用於 Tab 焦點的實現元素子集。 同樣地,控制項的自動化對等應該覆寫其 GetChildrenCore ,並排除回收的專案。