C # WPF DragMove без Window_LocationChanged ()

2

Я реализовал что-то в Windows Forms, подобное DragMove, но с границами, установленными в 10 единиц полей основного экрана.

При переходе на WPF я нашел этот поток, чтобы быть полезным для достижения того же результата.

Однако, поскольку это событие после переноса, происходит то, что, если мое окно перетаскивается за границы, которые я установил, он "перескакивает" назад. Я бы хотел избежать этого эффекта, поскольку он выглядит ужасно.

Есть ли простой способ избежать перемещения окна вне данной области без использования события LocationChanged? Я в основном хочу ограничить перемещение окна до.

Теги:
wpf
window
drag

1 ответ

2
Лучший ответ

Это очень сложно достичь с помощью WPF, поскольку он не предоставляет базовые функции Win32 и события, подобные WinForms. У меня был проект, в котором мне нужно было изменить размер окна, и я должен был использовать PInvoke SetWindowPos, чтобы сделать это обычным способом.

AddHook может вам помочь, но это все равно будет довольно сложно. Для получения дополнительной информации см. http://www.wpfmentor.com/2009/01/how-to-get-hwnd-and-hook-into-wndproc.html и http://msdn.microsoft.com/en-us/library/system.windows.interop.hwndsource.addhook.aspx.

  • 0
    Достаточно забавно, это было легко peasy в WindowsForms ...: \

Ещё вопросы

Сообщество Overcoder
Наверх
Меню