Use DataTemplate in ListBox : DataTemplate « Windows Presentation Foundation « VB.Net Tutorial






<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPF" Height="200" Width="300"
    Loaded="Window_Loaded">

    <Window.Resources>
        <DataTemplate x:Key="ListItemTemplate">
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding}" VerticalAlignment="Center"/>
            </StackPanel>
        </DataTemplate>
    </Window.Resources>
    <StackPanel>
        <ListBox x:Name="listBox" ItemTemplate= "{StaticResource ListItemTemplate}"/>
    </StackPanel>
</Window>
//File:Window.xaml.vb
Imports System.Collections.ObjectModel
Imports System.Windows
Imports System.Windows.Threading

Namespace WpfApplication1
  Public Partial Class Window1
    Inherits Window
    Private numberDescriptions As ObservableCollection(Of String)

    Public Sub New()
      InitializeComponent()
    End Sub

    Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)
      numberDescriptions = New ObservableCollection(Of String)()

      listBox.ItemsSource = numberDescriptions

      Me.Dispatcher.BeginInvoke(DispatcherPriority.Background, New LoadNumberDelegate(AddressOf LoadNumber), 1)
    End Sub
    Private Delegate Sub LoadNumberDelegate(number As Integer)

    Private Sub LoadNumber(number As Integer)
      numberDescriptions.Add("Number " & number.ToString())
      Me.Dispatcher.BeginInvoke(DispatcherPriority.Background, New LoadNumberDelegate(AddressOf LoadNumber), System.Threading.Interlocked.Increment(number))
    End Sub
  End Class
End Namespace
WPF Use Data Template In List Box








16.97.DataTemplate
16.97.1.Use DataTemplate in ListBoxUse DataTemplate in ListBox
16.97.2.ListBox binds to the people collection, and sets the DataTemplate to use for displaying each itemListBox binds to the people collection, and sets the DataTemplate to use for displaying each item
16.97.3.Without specifying a DataTemplate, the ListBox displays a list of names.Without specifying a DataTemplate, the ListBox displays a list of names.
16.97.4.Enables sorting of data in ascending or descending order according to the contents of one column.Enables sorting of data in ascending or descending order according to the contents of one column.
16.97.5.Defines the contents of column headers and cells by using templates.Defines the contents of column headers and cells by using templates.