LinedFlowLayout.ItemsInfoRequested Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 alInvalidateItemsInfo
metodo . - Una modifica della larghezza dell'hosting
ItemsRepeater
/ItemsView
attiva sempre un riflusso degli elementi.