Рейтинг@Mail.ru

WPF: Перемещение фокуса ввода на произвольный элемент GUI

Published in Полезные советы

Dim tr As New TraversalRequest(FocusNavigationDirection.Last)
MoveFocus(tr)

Это может помочь в случае, когда, например, нужно обновить поля ввода TextBox при срабатывании кнопки по умолчанию по нажатию Enter на клавиатуре.

Читать далее...

WPF: Как обновить GUI при быстро изменяющихся событиях

Published in Полезные советы

Добавить обработчик по таймеру:

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
Читать далее...
Subscribe to this RSS feed