ItemsRepeater.ItemsSource Свойство

Определение

Возвращает или задает источник объекта, используемый для создания содержимого ItemsRepeater.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

Значение свойства

Object

Platform::Object

IInspectable

Объект , используемый для создания содержимого ItemsRepeater. Значение по умолчанию — NULL.

Атрибуты
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute

Комментарии

Используйте свойство ItemsSource, чтобы указать коллекцию, используемую для создания содержимого элементов. ItemsSource можно задать любому типу, реализующему IEnumerable. Дополнительные интерфейсы коллекции, реализованные источником данных, определяют доступную функцию для ItemsRepeater, чтобы взаимодействовать с данными.

Этот список содержит доступные интерфейсы, а также информацию о том, когда следует использовать каждый из них.

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

    • Можно использовать для небольших, статических наборов данных.

      Источник данных должен, как минимум, реализовывать интерфейс IEnumerable/IIterable. Если это все поддерживаемые интерфейсы, то элемент управления будет перебирать все один раз, чтобы создать копию, которую он может использовать для доступа к элементам через значение индекса.

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

    • Можно использовать для статических, нередактируемых наборов данных.

      Включает элемент управления для доступа к элементам с помощью индекса и позволяет избежать избыточных внутренних копий.

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

    • Можно использовать для статических наборов данных.

      Включает элемент управления для доступа к элементам с помощью индекса и позволяет избежать избыточных внутренних копий.

      Предупреждение. Изменения в списке/векторе без реализации INotifyCollectionChanged не будут отражены в пользовательском интерфейсе.

  • System.Collections.Specialized.INotifyCollectionChanged.

    • Рекомендуется для поддержки уведомления об изменениях.

      Позволяет элементу управления наблюдать за изменениями в источнике данных и реагировать на них, а также отображать эти изменения в пользовательском интерфейсе.

  • IObservableVector<T>

    • Поддерживает уведомление об изменениях

      Как и интерфейс INotifyCollectionChanged, он позволяет элементу управления наблюдать за изменениями в источнике данных и реагировать на них.

      Предупреждение. Windows.Foundation.IObservableVector<T> не поддерживает действие "Переместить". Это может вызвать потерю визуального состояния пользовательского интерфейса для элемента. Например, элемент, выбранный в данный момент и/или который фокусируется на месте, куда выполнено перемещение, при использовании команды "Удалить", а затем "Добавить" теряет фокус и не поддается выбору.

      Platform.Collections.Vector<T> использует IObservableVector<T> и имеет то же ограничение. Если требуется поддержка действия "Переместить", используйте интерфейс INotifyCollectionChanged , описанный выше. Класс .NET ObservableCollection<T> использует INotifyCollectionChanged.

  • IKeyIndexMapping

    • Уникальный идентификатор можно связать с каждым элементом. Рекомендуется при использовании действия "Сброс" в качестве действия изменения коллекции.

      Позволяет элементу управления очень эффективно восстановить существующий пользовательский интерфейс после сложного действия "Сброс", как части события INotifyCollectionChanged или IObservableVector. После сброса элемент управления будет использовать указанный уникальный идентификатор, чтобы сопоставить текущие данные с уже созданными элементами. Без ключа для сопоставления индекса элементу управления будет необходимо начать с нуля создание пользовательского интерфейса для данных.

Интерфейсы, перечисленные выше, отличные от IKeyIndexMapping, ведут себя в ItemsRepeater также, как в ListView и GridView.

Следующие интерфейсы ItemsSource позволяют использовать специальные функции в элементах управления ListView и GridView, но в настоящее время они не оказывают влияния на ItemsRepeater:

Применяется к