ItemsRepeater.ItemsSource Propriedade

Definição

Obtém ou define uma fonte de objeto usada para gerar o conteúdo do 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

Valor da propriedade

Object

Platform::Object

IInspectable

O objeto usado para gerar o conteúdo do ItemsRepeater. O padrão é nulo.

Atributos
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute

Comentários

Use a propriedade ItemsSource para especificar a coleção a ser usada para gerar o conteúdo dos itens. Você pode definir o ItemsSource como qualquer tipo que implemente IEnumerable. Interfaces de coleção adicionais implementadas por sua fonte de dados determinam qual funcionalidade está disponível para o ItemsRepeater interagir com seus dados.

Esta lista mostra as interfaces disponíveis e quando considerar o uso de cada uma delas.

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

    • Pode ser usada para conjuntos de dados pequenos e estáticos.

      No mínimo, a fonte de dados deve implementar a interface IEnumerable / IIterable. Se isso for tudo o que é compatível, o controle iterará por tudo uma vez para criar uma cópia que pode ser usada para acessar itens por meio de um valor de índice.

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

    • Pode ser usado para conjuntos de dados estáticos somente leitura.

      Permite que o controle acesse os itens por índice e evita a duplicação interna desnecessária.

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

    • Pode ser usado para conjuntos de dados estáticos.

      Permite que o controle acesse os itens por índice e evita a duplicação interna desnecessária.

      Aviso: Alterações a lista/vetor sem implementar INotifyCollectionChanged não serão refletidas na interface do usuário.

  • INotifyCollectionChanged (.NET)

    • Recomendado para dar suporte à notificação de alteração.

      Permite que o controle observe e reaja a alterações na fonte de dados e reflita essas alterações na interface do usuário.

  • IObservableVector<T>

    • Dá suporte para notificação de alteração

      Como a interface INotifyCollectionChanged, permite que o controle observe e reaja a alterações na fonte de dados.

      Aviso: O Windows.Foundation.IObservableVector<T> não dá suporte a uma ação de "Mover". Isso pode fazer com que a interface de usuário de um item perca sua aparência visual. Por exemplo, um item selecionado no momento e/ou com foco em que a movimentação é obtida por uma ação de "Remover" seguida por "Adicionar" perderá o foco e não será mais selecionado.

      O Platform.Collections.Vector<T> usa IObservableVector<T> e tem essa mesma limitação. Se o suporte para uma ação de 'Mover' for necessário, use a interface INotifyCollectionChanged. A classe .NET ObservableCollection<T> usa INotifyCollectionChanged.

  • IKeyIndexMapping
    • Quando um identificador exclusivo pode ser associado a cada item. Recomendado quando usar 'Redefinir' como ação de alteração da coleção.

      Permite que o controle recupere com muita eficiência a UI atual após receber uma ação de 'hard Reset' como parte de um evento INotifyCollectionChanged ou IObservableVector. Depois de receber uma redefinição, o controle usará a identificação exclusiva fornecida para associar o dado atual aos elementos que já havia criado. Sem a chave para o mapeamento de índice, o controle precisaria supor que deve começar do zero para criar a interface do usuário para os dados.

As interfaces listadas acima, a não ser IKeyIndexMapping, fornecem o mesmo comportamento no ItemsRepeater que em ListView e GridView.

As interfaces a seguir em um ItemsSource habilitam uma funcionalidade especial nos controles ListView e GridView, mas atualmente não têm efeito sobre um ItemsRepeater:

  • ISupportIncrementalLoading
  • IItemsRangeInfo
  • ISelectionInfo

Aplica-se a