ItemsRepeater.ItemsSource Proprietà

Definizione

Ottiene o imposta un'origine oggetto usata per generare il contenuto di ItemsRepeater.

Questa documentazione si applica a WinUI 2 per UWP (per WinUI nella SDK per app di Windows, vedere gli spazi dei nomi SDK per app di Windows).

public:
 property Platform::Object ^ ItemsSource { Platform::Object ^ get(); void set(Platform::Object ^ value); };
/// [get: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [set: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
IInspectable ItemsSource();

void ItemsSource(IInspectable value);
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [get: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [set: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
IInspectable ItemsSource();

void ItemsSource(IInspectable value);
public object ItemsSource { [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] get; [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] set; }
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
public object ItemsSource { [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] get; [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] set; }
Public Property ItemsSource As Object

Valore della proprietà

Object

Platform::Object

IInspectable

Oggetto utilizzato per generare il contenuto di ItemsRepeater. Il valore predefinito è Null.

Attributi
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute

Commenti

Usa la proprietà ItemsSource per specificare la raccolta da usare per generare il contenuto degli elementi. Puoi impostare ItemsSource su qualsiasi tipo che implementa IEnumerable. Le interfacce di raccolta aggiuntive implementate dall'origine dati determinano quali funzionalità sono disponibili per ItemsRepeater per interagire con i dati.

Questo elenco mostra le interfacce disponibili e quando è consigliabile usare ognuna di esse.

  • Ienumerable< T> (.NET) / IIterable<T>

    • Può essere usata per set di dati statici di piccole dimensioni.

      Come minimo, l'origine dati deve implementare l'interfaccia IEnumerable / IIterable. Se questo è tutto ciò che è supportato, il controllo scorrerà tutti gli elementi una volta per creare una copia utilizzabile per accedere agli elementi tramite un valore di indice.

  • IReadonlyList< T> (.NET) / IVectorView<T>

    • Può essere usata per set di dati statici di sola lettura.

      Consente al controllo di accedere agli elementi in base all'indice, evitando la copia interna ridondante.

  • Ilist< T> (.NET) / IVector<T>

    • Può essere usata per set di dati statici.

      Consente al controllo di accedere agli elementi in base all'indice, evitando la copia interna ridondante.

      Avviso: le modifiche apportate all'elenco/vettore senza implementare INotifyCollectionChanged non si rifletteranno nell'interfaccia utente.

  • System.Collections.Specialized.INotifyCollectionChanged

    • Consigliata per supportare la notifica delle modifiche.

      Consente al controllo di osservare e reagire alle modifiche nell'origine dati e riflettere tali modifiche nell'interfaccia utente.

  • IObservableVector<T>

    • Supporta la notifica delle modifiche.

      Come l'interfaccia INotifyCollectionChanged, consente al controllo di osservare e reagire alle modifiche nell'origine dati.

      Avviso: Windows.Foundation.IObservableVector<T> non supporta un'azione "Move". Ciò può far sì che l'interfaccia utente di un elemento perda lo stato di visualizzazione. Ad esempio, un elemento che è attualmente selezionato e/o ha lo stato attivo dove avviene lo spostamento in seguito a un'azione 'Remove' seguita da un'azione 'Add' perderà lo stato attivo e non sarà più selezionato.

      Platform.Collections.Vector<T> usa IObservableVector<T> e ha questa stessa limitazione. Se è necessario il supporto per un'azione "Move", usare l'interfaccia INotifyCollectionChanged documentata in precedenza. La classe .NET ObservableCollection T> usa INotifyCollectionChanged<.

  • IKeyIndexMapping

    • Quando un identificatore univoco può essere associato a ogni elemento. Consigliata quando si usa 'Reset' come azione di modifica della raccolta.

      Consente al controllo di ripristinare in modo molto efficiente l'interfaccia utente esistente dopo aver ricevuto un'azione hard 'Reset' come parte di un evento INotifyCollectionChanged o IObservableVector. Dopo aver ricevuto una reimpostazione, il controllo userà l'ID univoco fornito per associare i dati correnti con gli elementi già creati. Senza la chiave per il mapping dell'indice, il controllo dovrebbe presupporre di dover ricominciare da zero a creare l'interfaccia utente per i dati.

Le interfacce elencate in precedenza, ad eccezione di IKeyIndexMapping, forniscono lo stesso comportamento in ItemsRepeater così come in ListView e GridView.

Le interfacce seguenti su un ItemsSource abilitano funzionalità speciali nei controlli ListView e GridView, ma attualmente non hanno effetto su ItemsRepeater:

Si applica a