Bagikan melalui


ItemsRepeater.ItemsSource Properti

Definisi

Mendapatkan atau mengatur sumber objek yang digunakan untuk menghasilkan konten ItemsRepeater.

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; }
var object = itemsRepeater.itemsSource;
itemsRepeater.itemsSource = object;
Public Property ItemsSource As Object

Nilai Properti

Object

Platform::Object

IInspectable

Objek yang digunakan untuk menghasilkan konten ItemsRepeater. Defaultnya adalah null.

Atribut
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute

Keterangan

Gunakan properti ItemsSource untuk menentukan koleksi yang akan digunakan untuk menghasilkan konten item. Anda dapat mengatur ItemsSource ke jenis apa pun yang mengimplementasikan IEnumerable. Antarmuka pengumpulan tambahan yang diterapkan oleh sumber data Anda menentukan fungsionalitas apa yang tersedia untuk ItemsRepeater untuk berinteraksi dengan data Anda.

Daftar ini menunjukkan antarmuka yang tersedia dan kapan harus mempertimbangkan untuk menggunakan masing-masing antarmuka.

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

    • Dapat digunakan untuk himpunan data statis kecil.

      Minimal, sumber data harus mengimplementasikan antarmuka IEnumerable / IIterable. Jika ini semua yang didukung maka kontrol akan melakukan iterasi melalui semuanya sekali untuk membuat salinan yang dapat digunakan untuk mengakses item melalui nilai indeks.

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

    • Dapat digunakan untuk himpunan data statis baca-saja.

      Mengaktifkan kontrol untuk mengakses item berdasarkan indeks dan menghindari salinan internal yang berlebihan.

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

    • Dapat digunakan untuk himpunan data statis.

      Mengaktifkan kontrol untuk mengakses item berdasarkan indeks dan menghindari salinan internal yang berlebihan.

      Peringatan: Perubahan pada daftar/vektor tanpa menerapkan INotifyCollectionChanged tidak akan tercermin dalam UI.

  • INotifyCollectionChanged (.NET)

    • Disarankan untuk mendukung pemberitahuan perubahan.

      Memungkinkan kontrol untuk mengamati dan bereaksi terhadap perubahan dalam sumber data dan mencerminkan perubahan tersebut di UI.

  • IObservableVector<T>

    • Mendukung pemberitahuan perubahan

      Seperti antarmuka INotifyCollectionChanged , ini memungkinkan kontrol untuk mengamati dan bereaksi terhadap perubahan dalam sumber data.

      Peringatan: Windows.Foundation.IObservableVector<T> tidak mendukung tindakan 'Pindahkan'. Hal ini dapat menyebabkan UI item kehilangan status visualnya. Misalnya, item yang saat ini dipilih dan/atau memiliki fokus di mana pemindahan dicapai oleh 'Hapus' diikuti dengan 'Tambahkan' akan kehilangan fokus dan tidak lagi dipilih.

      Platform.Collections.Vector<T> menggunakan IObservableVector<T> dan memiliki batasan yang sama ini. Jika dukungan untuk tindakan 'Pindahkan' diperlukan, maka gunakan antarmuka INotifyCollectionChanged . Kelas .NET ObservableCollection<T> menggunakan INotifyCollectionChanged.

  • IKeyIndexMapping

    • Saat pengidentifikasi unik dapat dikaitkan dengan setiap item. Disarankan saat menggunakan 'Reset' sebagai tindakan perubahan koleksi.

      Memungkinkan kontrol untuk memulihkan UI yang ada dengan sangat efisien setelah menerima tindakan 'Reset' keras sebagai bagian dari peristiwa INotifyCollectionChanged atau IObservableVector . Setelah menerima reset, kontrol akan menggunakan ID unik yang disediakan untuk mengaitkan data saat ini dengan elemen yang telah dibuatnya. Tanpa kunci untuk mengindeks pemetaan kontrol harus mengasumsikan perlu memulai kembali dari awal dalam membuat UI untuk data.

Antarmuka yang tercantum di atas, selain IKeyIndexMapping, memberikan perilaku yang sama di ItemsRepeater seperti yang mereka lakukan di ListView dan GridView.

Antarmuka berikut pada ItemsSource memungkinkan fungsionalitas khusus di kontrol ListView dan GridView, tetapi saat ini tidak berpengaruh pada ItemsRepeater:

Berlaku untuk