Load the Items in a ListBox Asynchronously : ListBox Item « 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 Load The Items In A List Box Asynchronously








16.31.ListBox Item
16.31.1.ListBox with Image itemListBox with Image item
16.31.2.Use Panel as a ListBoxItemUse Panel as a ListBoxItem
16.31.3.Get Item At Index Position [0]Get Item At Index Position [0]
16.31.4.Handles ListBoxItem Selected events for the ListBoxItems in the inner ListBox.Handles ListBoxItem Selected events for the ListBoxItems in the inner ListBox.
16.31.5.Different Font Family and Size for each ListBoxItemDifferent Font Family and Size for each ListBoxItem
16.31.6.List box with text and non-text content in the list box items.List box with text and non-text content in the list box items.
16.31.7.List box that uses data binding to populate the list box items.List box that uses data binding to populate the list box items.
16.31.8.Load the Items in a ListBox AsynchronouslyLoad the Items in a ListBox Asynchronously
16.31.9.Change the Appearance of Alternate Items in a ListChange the Appearance of Alternate Items in a List
16.31.10.Change the Appearance of a List Item When It's SelectedChange the Appearance of a List Item When It's Selected