Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Load the Data for a Window Asynchronously After It Has Rendered

<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">     <StackPanel>         <TextBlock>One Million Numbers:</TextBlock>         <ListBox x:Name="listBox"/>     </StackPanel> </Window> //File:Window.xaml.vb Imports System.Windows Imports System.Windows.Threading Imports System.Collections.Generic Namespace WpfApplication1   Public Partial Class Window1     Inherits Window     Public Sub New()       InitializeComponent()     End Sub     Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)       Me.Dispatcher.BeginInvoke(DispatcherPriority.Background, New LoadNumbersDelegate(AddressOf LoadNumbers))     End Sub     Private Delegate Sub LoadNumbersDelegate()     Private Sub LoadNumbers()       Dim numberDescriptions As New List(Of String)()       For i As Integer = 1 To 1000000         numberDescriptions.Add("Number " & i.ToString())       Next       listBox.ItemsSource = numberDescriptions     End Sub   End Class End Namespace