Перетащите окно из сетки - PullRequest
0 голосов
/ 29 января 2009

Я создал собственное окно с установленным значением windowStyle = "none", (без заголовка или развернуть - свернуть кнопки), и я пытаюсь реализовать операцию DragMove, когда пользователь нажимает и перетаскивает сетку. (это связано с вызовом DragMove для обработчика MouseLeftButtonDown)

Первая странная проблема, что это событие никогда не срабатывает, если у сетки нет фона. Добавление некоторого цвета фона приводит к тому, что событие запускается, но после первого перетаскивания я получаю эту ошибку:

«Может вызывать DragMove только при нажатии основной кнопки мыши»

Фрагмент кода:

Private Sub Grid1_MouseLeftButtonDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles Grid1.MouseLeftButtonDown
    DragMove()
End Sub

Я знаю, что для лейбла это будет работать нормально, но нет ли способа заставить его работать для сетки?

1 Ответ

0 голосов
/ 30 января 2009

ОК, я нашел ответ ..

Я использовал границу, чтобы обернуть сетку, а затем перехватил событие Border1_MouseLeftButtonDown.

Мне также пришлось установить границы фона на «Прозрачный», и теперь все работает как шарм.

Private Sub Border1_MouseLeftButtonDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles Border1.MouseLeftButtonDown
    DragMove()
End Sub
...