Как разобрать беспроводную мышь Microsoft Sculpt Ergonomic
Опубликовано в Ремонт и сервис
Разбираем беспроводную компьютерную мышь от фирмы Microsoft: Microsoft Sculpt Ergonomic.
Подробнее ...
Опубликовано в Ремонт и сервис
Опубликовано в Полезные советы
Для передачи события прокрутки колеса мыши родительскому элементу, сначала определим в 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
Опубликовано в Полезные советы
Это может понадобиться, например, при реализации функциональности 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