Как разобрать беспроводную мышь Microsoft Sculpt Ergonomic
Published in Ремонт и сервис
Разбираем беспроводную компьютерную мышь от фирмы Microsoft: Microsoft Sculpt Ergonomic.
Читать далее...
Published in Ремонт и сервис
Published in Полезные советы
Для передачи события прокрутки колеса мыши родительскому элементу, сначала определим в XAML событие PreviewMouseWheel.
<TreeView PreviewMouseWheel="ScrollingToParent" />
Теперь напишем обрабатывающий это событие метод таким способом:
''' <summary>
''' Обеспечивает передачу события прокрутки колеса мыши родительскому элементу.
''' </summary>
Private Sub ScrollingToParent(sender As Object, e As MouseWheelEventArgs)
e.Handled = True
Dim e2 As New MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta) With {
.RoutedEvent = UIElement.MouseWheelEvent,
.Source = sender
}
Dim parent As UIElement = CType(CType(sender, Control).Parent, UIElement)
parent.RaiseEvent(e2)
End Sub
Published in Полезные советы
Это может понадобиться, например, при реализации функциональности DragAndDrop. Напишем метод, возвращающий объект или NULL, если объекта нет:
''' <summary>' ''' Возвращает элемент списка ListBox, находящийся под указателем мыши.' ''' </summary>' ''' <param name="lb">Список.' ''' <param name="p">Позиция курсора. Обычно e.GetPosition(lb), где е type of DragEventArgs.' Private Function getDataFromListBox(ByVal lb As ListBox, ByVal p As Point) As Object Dim element As UIElement = TryCast(lb.InputHitTest(p), UIElement) If element IsNot Nothing Then Dim data As Object = DependencyProperty.UnsetValue Do While data Is DependencyProperty.UnsetValue data = lb.ItemContainerGenerator.ItemFromContainer(element) If data Is DependencyProperty.UnsetValue Then element = CType(VisualTreeHelper.GetParent(element), UIElement) End If Loop If data IsNot DependencyProperty.UnsetValue Then Return data End If End If Return Nothing End Function