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
Related examples in the same category