Update the UI Asynchronously on a Timer
<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="100" Width="300">
<StackPanel>
<Button x:Name="button" Click="Button_Click">Start Timer</Button>
<TextBlock x:Name="txtStatus">
</TextBlock>
</StackPanel>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Threading
Namespace WpfApplication1
Public Partial Class Window1
Inherits Window
Private timer As DispatcherTimer
Public Sub New()
InitializeComponent()
End Sub
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
If timer Is Nothing OrElse Not timer.IsEnabled Then
timer = New DispatcherTimer()
timer.Interval = TimeSpan.FromMilliseconds(1000)
AddHandler timer.Tick, New EventHandler(AddressOf timer_Tick)
timer.Start()
button.Content = "Stop Timer"
Else
timer.[Stop]()
button.Content = "Start Timer"
End If
End Sub
Private Sub timer_Tick(sender As Object, e As EventArgs)
txtStatus.Text = DateTime.Now.Second.ToString()
End Sub
End Class
End Namespace
Related examples in the same category