WPF: Как обновить GUI при быстро изменяющихся событиях
Добавить обработчик по таймеру:
Private updateGuiTimer As DispatcherTimer
'При загрузке окна инициализируем и запускаем таймер.
Private Sub winLoaded(sender As Object, e As RoutedEventArgs)
updateGuiTimer = New DispatcherTimer()
updateGuiTimer.Interval = TimeSpan.FromMilliseconds(100) 'задаём период обновления
AddHandler updateGuiTimer.Tick, AddressOf updateGui
updateGuiTimer.Start()
End Sub
'Обработчик события Timer.Tick().
Private Sub updateGui(ByVal sender As Object, ByVal e As EventArgs)
txtLabel.Text = LabelPropValue 'здесь обновлять элементы GUI
End Sub
Добавить обработчик события ререндеринга (происходит около 60 раз в секунду).
Private Sub winLoaded(sender As Object, e As RoutedEventArgs)
AddHandler CompositionTarget.Rendering, AddressOf OnRendering
End Sub
Public Sub OnRendering(sender As Object, e As EventArgs)
txtLabel.Text = SomeProp.ToString() 'здесь обновлять необходимые элементы GUI
End Sub
Теги :
Поблагодарить автора:
Поделиться
Похожие материалы (по тегу)
- Как в XAML создать checkable-элементы меню, которые поддерживают только один нажатый элемент (как RadioButton)
- Измерение времени выполнения кода в .NET
- Как проверить версию .NET, установленную на компьютере
- WPF: Перемещение фокуса ввода на произвольный элемент GUI
- WPF: Как привязать ComboBox к целочисленному массиву в XAML
