Condividi tramite


LinedFlowLayout.ItemsInfoRequested Evento

Definizione

Si verifica quando sono LinedFlowLayout necessarie informazioni di ridimensionamento per gli elementi in e intorno al riquadro di visualizzazione di scorrimento corrente.

// 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) 

Tipo evento

Commenti

Questo evento viene generato con l'argomento LinedFlowLayoutItemsInfoRequestedEventArgs , che fornisce informazioni dettagliate sul ridimensionamento dell'elemento richiesto.

È possibile fornire le informazioni richieste per migliorare la velocità di risposta dell'interfaccia utente. La gestione di questo evento è facoltativa e influenza l'algoritmo di layout usato da LinedFlowLayout nei modi seguenti.

Non gestisce questo evento o non fornisce informazioni di ridimensionamento per l'intervallo di elementi richiesti:

  • Viene creato un intervallo contiguo di elementi. Per impostazione predefinita, tali elementi riempiono un buffer di un massimo di 5 viewport a scorrimento, centrati intorno al viewport attualmente visibile. Tutti gli altri elementi vengono virtualizzati.
  • Viene disposto solo l'intervallo di elementi. Gli elementi al di fuori dell'intervallo (elementi virtualizzati) non influiscono sul layout.
  • Lo scorrimento degli elementi (e, più in generale, ogni passaggio di layout) attiva l'evento ItemsInfoRequested nel tentativo di raccogliere di nuovo le informazioni di ridimensionamento.
  • Gli elementi creati di recente vengono usati per calcolare un valore medio di elementi per riga. Tale numero determina il numero di righe necessarie per visualizzare l'intera raccolta e la posizione approssimativa di ogni elemento.
  • Una modifica della larghezza dell'hosting ItemsRepeater/ItemsView può attivare o meno una modifica media degli elementi per riga. Maggiore è la modifica della larghezza, maggiore è la possibilità di una modifica media degli elementi per riga.
  • Un reflow completo degli elementi viene eseguito quando la media degli elementi per riga restituisce un nuovo valore per qualsiasi motivo.
  • Il numero di elementi creati e disposti nel buffer (fino a 5 viewport di scorrimento) viene applicato rigorosamente dagli elementi medi calcolati per riga.

Specificare le informazioni di ridimensionamento esattamente per l'intervallo di elementi richiesti:

Restituisce le stesse caratteristiche del primo caso, ad eccezione di:

  • Vengono creati solo fino a 3 viewport di scorrimento invece di 5. Un minor numero di elementi creati si traduce in prestazioni migliorate. È quindi consigliabile gestire l'evento ItemsInfoRequested e fornire informazioni di ridimensionamento per almeno l'intervallo richiesto, che copre fino a 5 viewport di scorrimento.
  • La media degli elementi per riga viene calcolata in base alle informazioni di ridimensionamento fornite e non alle dimensioni desiderate degli elementi creati.
  • Lo scorrimento degli elementi attiva l'evento ItemsInfoRequested per raccogliere informazioni di ridimensionamento per il buffer (fino a 5 viewport di scorrimento) centrati intorno al nuovo viewport visibile.

Specificare informazioni di ridimensionamento per un intervallo di elementi maggiore rispetto a quello richiesto:

Restituisce le stesse caratteristiche del primo caso, ad eccezione di:

  • Poiché le informazioni di ridimensionamento sono state fornite per un superset dell'intervallo di elementi richiesti, lo scorrimento non genera necessariamente l'evento ItemsInfoRequested . Se i 5 viewport a scorrimento centrati intorno al riquadro di visualizzazione visibile sono entro le dimensioni note, ItemsInfoRequested non è necessario che venga generato .
  • Maggiore è l'intervallo di elementi delle informazioni di ridimensionamento fornite dal ItemsInfoRequested gestore eventi, minore è il numero di occorrenze. Ciò migliora le prestazioni complessive.

Specificare le informazioni di ridimensionamento per l'intera raccolta di elementi:

Questo caso comporta caratteristiche significativamente diverse rispetto ai 3 casi precedenti:

  • Vengono creati fino a 3 viewport scorrevoli che vale la pena creare.
  • I rettangoli di delimitazione vengono valutati per tutti gli elementi, creati o virtualizzati. Ciò sfrutta appieno le informazioni di ridimensionamento fornite per l'intera raccolta.
  • Non esiste alcuna imposizione sul numero di elementi disposti intorno al viewport visibile. Non essendo vincolato a soddisfare una media degli elementi per riga può comportare un ritaglio di elementi inferiore. Il numero totale di righe non viene applicato anche dagli elementi medi per riga.
  • Lo scorrimento degli elementi non attiva mai l'evento ItemsInfoRequested perché non è necessario recuperare informazioni di ridimensionamento aggiuntive. Tuttavia, l'evento può essere attivato da una chiamata al InvalidateItemsInfo metodo .
  • Una modifica della larghezza dell'hosting ItemsRepeater/ItemsView attiva sempre un riflusso degli elementi.

Si applica a