Assembly: System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.
<itemsControl ItemsSource="bindingDeclaration"/> -or- <itemsControl ItemsSource="resourceReferenceToIEnumerable"/>
Dependency property identifier field: ItemsSourceProperty
You can add items to an ItemsControl by adding items to the Items property or by setting the property to a data collection. You can add objects of different types to Items. If is not Nothing, the items in the items property are read-only. You cannot add an object or change the objects in the Items property.
You should set the to an object that implements the INotifyCollectionChanged interface so that changes in the collection will be reflected in the ItemsControl. The ObservableCollection(Of T) class defines such an object.
The following example creates a ListBox, which inherits from ItemsControl, and binds it to a collection of Customer objects. The example sets the DisplayMemberPathProperty to the LastName property of the customer. Therefore, the ListBox displays the following values:
The following example shows the Customer class and the collection that the ListBox is bound to.
Public Class Customer Private _firstName As String Private _lastName As String Private _address As String Public Property FirstName() As String Get Return _firstName End Get Set(ByVal value As String) _firstName = value End Set End Property Public Property LastName() As String Get Return _lastName End Get Set(ByVal value As String) _lastName = value End Set End Property Public Property Address() As String Get Return _address End Get Set(ByVal value As String) _address = value End Set End Property Public Sub New(ByVal firstName As String, ByVal lastName As String, ByVal address As String) Me.FirstName = firstName Me.LastName = lastName Me.Address = address End Sub End Class Public Class Customers Inherits ObservableCollection(Of Customer) Public Sub New() Add(New Customer("Michael", "Anderberg", "12 North Third Street, Apartment 45")) Add(New Customer("Chris", "Ashton", "34 West Fifth Street, Apartment 67")) Add(New Customer("Cassie", "Hicks", "56 East Seventh Street, Apartment 89")) Add(New Customer("Guido", "Pica", "78 South Ninth Street, Apartment 10")) End Sub End Class
The following example creates a ListBox and sets the property to a collection of strings. For this example, src is defined as xmlns:src="clr-namespace:ItemsControlSnippets".
The following example iterates through each string in the Items property of the ListBox in the previous example and adds each item to the TextBlock, tb2. The Items property contains the collection of strings that the ListBox is bound to. You can get the strings by using the Items property, but you cannot add or change the strings.
The following example shows the collection of strings that the ListBox is bound to.