ItemsControl.ItemsSource Property


Gets or sets an object source used to generate the content of the ItemsControl.

 property Platform::Object ^ ItemsSource { Platform::Object ^ get(); void set(Platform::Object ^ value); };
IInspectable ItemsSource();

void ItemsSource(IInspectable value);
public object ItemsSource { get; set; }
var object = itemsControl.itemsSource;
itemsControl.itemsSource = object;
Public Property ItemsSource As Object
<itemsControl ItemsSource="bindingDeclaration"/>
<itemsControl ItemsSource="resourceReferenceToSource"/>

Property Value




The object that is used to generate the content of the ItemsControl. The default is null.


The type of the object that you set the ItemsSource property to must implement one of these interfaces.

.NET C++/WinRT C++/CX
IEnumerable<Object> IIterable<IInspectable> IIterable<Object^>
IEnumerable IBindableIterable IBindableIterable

The ItemsControl can provide better performance if the ItemsSource property value also implements a random-access list interface.

.NET C++/WinRT C++/CX
IList<Object> IVector<IInspectable> IVector<Object^>
IReadOnlyCollection<Object> IVectorView<IInspectable> IVectorView<Object^>
IList IBindableVector IBindableVector
IBindableVectorView IBindableVectorView
IBindableObservableVector IBindableObservableVector

The ItemsControl can raise collection-changed notification events if the ItemsSource property value also implements a collection-changed notification interface.

.NET C++/WinRT C++/CX
INotifyCollectionChanged INotifyCollectionChanged INotifyCollectionChanged
ObservableCollection<Object> IObservableVector<IInspectable> IObservableVector<Object^>

For .NET, in order for the collection-changed events to be handled, the ItemsSource property must also implement the non-generic IList interface.

Applies to