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
Ключевые слова: :
Поделиться
Related items
- Как проверить версию .NET, установленную на компьютере
- WPF: Перемещение фокуса ввода на произвольный элемент GUI
- WPF: Как привязать ComboBox к целочисленному массиву в XAML
- Драйвер для работы с LPT портом (интегрированным или в виде платы PCI)
- WPF: Как использовать свойство объекта в качестве параметра конвертера IValueConverter.ConverterParameter