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)
매개 변수
ElementFactoryRecycleArgs의 instance.
구현
설명
RecycleElement 메서드는 나중에 다시 사용하기 위해 요소를 따로 설정하는 데 사용되지만 요소의 현재 상태를 자동으로 다시 설정하지는 않습니다. 예를 들어 컨트롤의 배경 이 프로그래밍 방식으로 설정된 경우 라이브 트리에 다시 추가할 때 값이 유지됩니다.
GetElement에서 반환된 재활용 요소는 새로 만든 요소와 동일한 방식으로 라이브 트리에 추가할 수 있습니다.
GetElement는 재활용된 instance 기존 instance 검색하려고 합니다. 찾을 수 없는 경우 LoadContent를 사용하여 새 instance 만듭니다.
요소를 재활용하면 라이브 요소 트리에서 요소가 즉시 제거되지 않을 수 있습니다. 이 경우 언로드된/로드된 이벤트는 라이브 트리의 다른 부모 요소에 추가되지 않는 한 발생하지 않습니다.
RecycleElement를 호출할 때 는 Parent 를 지정할 필요가 없습니다. 그러나 성능 최적화를 사용하도록 설정하는 것이 좋습니다. GetElement가 부모 값으로 호출되면 동일한 부모에 대해 재활용된 요소를 찾습니다. 부모 요소에 계속 연결되어 있는 경우 요소를 다시 양육하는 추가 오버헤드를 발생시키지 않고 다시 사용할 수 있습니다.
참고
RecycleElement는 재활용된 요소가 탭 순서에 참여하는 것을 자동으로 제외하지 않습니다. 또한 요소의 자동화 피어가 자동화 트리에 표시되지 않도록 숨기지 않습니다. 플랫폼의 기본 제공 가상화 컨트롤은 컨트롤 아래의 요소에 대해 이를 관리합니다.
일회성 시나리오에서 사용자 지정 가상화 컨트롤을 처음부터 만들거나 RecycleElement를 호출하는 경우 탭 순서 및 자동화 피어 트리에서 재활용 요소를 제외해야 합니다.
GetChildrenInTabFocusOrder를 재정의하고 프레임워크가 Tab 포커스에 사용해야 하는 실현된 요소의 하위 집합을 제공할 수 있습니다. 마찬가지로 컨트롤의 자동화 피어는 GetChildrenCore 를 재정의하고 재활용된 요소를 제외해야 합니다.