다음을 통해 공유


LinedFlowLayout.ItemsInfoRequested 이벤트

정의

현재 스크롤 뷰포트 안팎의 항목에 대한 크기 조정 정보가 필요할 때 LinedFlowLayout 발생합니다.

// Register
event_token ItemsInfoRequested(TypedEventHandler<LinedFlowLayout, LinedFlowLayoutItemsInfoRequestedEventArgs const&> const& handler) const;

// Revoke with event_token
void ItemsInfoRequested(event_token const* cookie) const;

// Revoke with event_revoker
LinedFlowLayout::ItemsInfoRequested_revoker ItemsInfoRequested(auto_revoke_t, TypedEventHandler<LinedFlowLayout, LinedFlowLayoutItemsInfoRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<LinedFlowLayout,LinedFlowLayoutItemsInfoRequestedEventArgs> ItemsInfoRequested;
function onItemsInfoRequested(eventArgs) { /* Your code */ }
linedFlowLayout.addEventListener("itemsinforequested", onItemsInfoRequested);
linedFlowLayout.removeEventListener("itemsinforequested", onItemsInfoRequested);
- or -
linedFlowLayout.onitemsinforequested = onItemsInfoRequested;
Public Custom Event ItemsInfoRequested As TypedEventHandler(Of LinedFlowLayout, LinedFlowLayoutItemsInfoRequestedEventArgs) 

이벤트 유형

설명

이 이벤트는 요청된 항목 크기 조정 정보에 대한 세부 정보를 제공하는 LinedFlowLayoutItemsInfoRequestedEventArgs 인수를 사용하여 발생합니다.

요청된 정보를 제공하여 사용자 인터페이스의 응답성을 향상시킬 수 있습니다. 이 이벤트의 처리는 선택 사항이며 다음과 같은 방법으로 LinedFlowLayout 에서 사용하는 레이아웃 알고리즘에 영향을 줍니다.

이 이벤트를 처리하지 않거나 요청된 항목 범위에 대한 크기 조정 정보를 제공하지 않습니다.

  • 연속된 항목 범위가 만들어집니다. 기본적으로 이러한 항목은 현재 표시되는 뷰포트를 중심으로 최대 5개의 스크롤 뷰포트 버퍼를 채웁니다. 다른 모든 항목은 가상화됩니다.
  • 해당 항목 범위만 배치됩니다. 범위 외부의 항목(가상화된 항목)은 레이아웃에 영향을 미치지 않습니다.
  • 항목을 스크롤하면(일반적으로 각 레이아웃이 전달됨) 크기 조정 정보를 다시 수집하기 위해 이벤트가 트리거됩니다 ItemsInfoRequested .
  • 최근에 만든 항목은 줄당 평균 항목 값을 계산하는 데 사용됩니다. 이 숫자는 전체 컬렉션을 표시하는 데 필요한 줄 수와 각 항목의 대략적 위치를 결정합니다.
  • 호스팅 ItemsRepeater/ItemsView 의 너비 변경으로 인해 줄당 평균 항목 변경이 트리거되거나 트리거되지 않을 수 있습니다. 너비가 변경되면 줄당 평균 항목 변경 가능성이 커지게 됩니다.
  • 항목의 전체 재배치는 어떤 이유로든 줄당 평균 항목이 새 값으로 평가될 때 수행됩니다.
  • 버퍼에 만들어지고 배치된 항목 수(최대 5개의 스크롤 뷰포트)는 계산된 평균 항목에 의해 엄격하게 적용됩니다.

요청된 항목 범위에 대한 크기 조정 정보를 정확하게 제공합니다.

다음을 제외하고 첫 번째 사례와 동일한 특성이 발생합니다.

  • 5개 대신 최대 3개의 스크롤 뷰포트의 항목만 생성됩니다. 생성된 항목 수가 적어 성능이 향상됩니다. 따라서 이벤트를 처리 ItemsInfoRequested 하고 최대 5개의 스크롤 뷰포트를 포함하는 요청된 범위 이상에 대한 크기 조정 정보를 제공하는 것이 좋습니다.
  • 줄당 평균 항목은 생성된 항목의 원하는 크기가 아닌 제공된 크기 조정 정보를 기반으로 계산됩니다.
  • 항목을 스크롤하면 표시되는 새 뷰포트를 중심으로 버퍼(최대 5개의 스크롤 뷰포트)에 대한 크기 조정 정보를 수집하기 위해 이벤트가 트리거 ItemsInfoRequested 됩니다.

요청된 항목보다 큰 항목 범위에 대한 크기 조정 정보 제공:

다음을 제외하고 첫 번째 사례와 동일한 특성이 발생합니다.

  • 요청된 항목 범위의 상위 집합에 대한 크기 조정 정보가 제공되었기 때문에 스크롤이 반드시 이벤트를 발생시키는 ItemsInfoRequested 것은 아닙니다. 표시되는 뷰포트를 중심으로 하는 5개의 스크롤 뷰포트가 알려진 크기 내에 있는 한 을 ItemsInfoRequested 발생시키지 않아도 됩니다.
  • 이벤트 처리기에서 제공하는 크기 조정 정보의 항목 범위가 ItemsInfoRequested 클수록 발생 횟수가 줄어듭니다. 이렇게 하면 전반적인 성능이 향상됩니다.

전체 항목 컬렉션에 대한 크기 조정 정보 제공:

이 경우 이전의 3개 사례와 크게 다른 특성이 발생합니다.

  • 최대 3개의 스크롤 뷰포트의 항목이 만들어집니다.
  • 경계 사각형은 생성 또는 가상화 여부에 관계없이 모든 항목에 대해 평가됩니다. 전체 컬렉션에 제공된 크기 조정 정보를 최대한 활용합니다.
  • 표시되는 뷰포트 주위에 배치되는 항목 수에 대한 적용은 없습니다. 줄당 평균 항목을 충족하도록 제한되지 않을 경우 항목 자르기도 줄어들 수 있습니다. 총 줄 수도 줄당 평균 항목에 의해 적용되지 않습니다.
  • 항목을 스크롤하면 추가 크기 조정 정보를 검색할 필요가 없으므로 이벤트가 트리거 ItemsInfoRequested 되지 않습니다. 그러나 메서드를 호출하여 이벤트를 트리거할 InvalidateItemsInfo 수 있습니다.
  • 호스팅 ItemsRepeater/ItemsView 의 너비 변경은 항상 항목의 재배치를 트리거합니다.

적용 대상