Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Use DataTemplate in ListBox

<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