Рейтинг@Mail.ru
aave

aave

Как сделать погодную станцию на Arduino

Published in DIY

Print Friendly, PDF & Email

Предлагается методика изготовления погодной станции для дома или дачи. За основу возьмём плату Ардуино и набор сенсоров: температуры, влажности, давления и датчик углекислого газа. Данные будут выводиться на LCD дисплей, а питание осуществляться от блока питания для мобильного телефона или батареек.

Print Friendly, PDF & Email
Читать далее...
Print Friendly, PDF & Email

Почему ComboBox может сбрасывать выбранный элемент SelectedItem при двунаправленной привязке, хотя вроде бы всё сделано верно? Например, есть такая XAML разметка:

<ComboBox SelectedItem="{Binding MySelectedItem, Mode=TwoWay}" ItemsSource="{Binding MyList, Mode=OneWay}" />

Так привязка работать не будет. А вот так будет:

<ComboBox ItemsSource="{Binding MyList, Mode=OneWay}" SelectedItem="{Binding MySelectedItem, Mode=TwoWay}" />

Несмотря на практически идентичную разметку, первый кусок кода работает не так, как ожидается.

Нюанс в том, что парсер XAML-разметки разбирает код последовательно. Если сначала объявлена привязка выделенного элемента SelectedItem, а после – источник данных для ComboBox, то при загрузке окна и построении графического интерфейса GUI всегда будет выбран первый элемент (ComboBox.SelectedIndex=0).

Поэтому следует всегда объявлять сначала источник элементов списка ComboBox.ItemsSource, а потом привязку выделенного элемента ComboBox.SelectedItem. Это касается и других элементов графического интерфейса, источниками которых являются коллекции, списки или массивы.

Print Friendly, PDF & Email
Читать далее...
Print Friendly, PDF & Email

Для настройки останова процесса отладки при возникновении определённого типа исключения, нужно сделать следующее.

Открыть в меню Отладка – Исключения (Debugging – Exceptions) или нажать сочетание клавиш Ctrl+Alt+E.

Открываем окно «Исключения»
Открываем окно «Исключения»

Нажать кнопку Найти и ввести часть имени или полное название исключения:

Найти название исключения
Поиск исключения по названию

Выбрать в древовидном списке исключений желаемые и нажать OK:

Выбрать в древовидном списке исключений желаемое
Выбор типа исключения

Теперь отладка будет остановлена в момент возникновения данного типа исключения и показана отладочная информация.

Print Friendly, PDF & Email
Читать далее...
Print Friendly, PDF & Email

Данный пример передаёт событие прокрутки среднего колеса мыши родительскому элементу:

В XAML присвоим имя событию:

<Element PreviewMouseWheel="scrollingTest">

Код (VB.NET):

''' <summary>
''' Обеспечивает прокрутку родительского ScrollViewer с помощью среднего колеса мыши.
''' </summary>
Private Sub scrollingTest(sender As Object, e As MouseWheelEventArgs)
  e.Handled = True 'перехват события
  Dim e2 As MouseWheelEventArgs = New MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta) 'получаем свойства события
  e2.RoutedEvent = UIElement.MouseWheelEvent 
  MainWindow.MyScrollViewer.RaiseEvent(e2) 'передаём перехваченное событие родительскому скролл-вьюеру
End Sub
Print Friendly, PDF & Email
Читать далее...
Subscribe to this RSS feed