Взаимодействие с окном AvalonEdit в AvalonDock - PullRequest
0 голосов
/ 12 ноября 2018

В моем приложении мы используем AvalonDock для менеджера стыковки и имеем множество разных окон. Один из них содержит редактор AvalonEdit. Недавно мы заметили одну конкретную проблему взаимодействия, которая, как я выяснил, вызвана AvalonDock.

При попытке заблокировать выбранный код вы можете использовать несколько различных методов: Alt + click and drag, Alt + Shift + click and drag, Alt + Shift + arrow keys и т. Д. Один конкретный метод, Alt + щелчок и перетаскивание не работает. В частности, он выбирает, но ввод не работает, пока вы не нажмете клавишу escape или один раз. С Alt + Shift + click and drag работает нормально.

Я протестировал пример проекта AvalonEdit, а также создал собственный простой пример, и он работал нормально. Когда я помещаю тестовое окно AvalonEdit в элемент управления Window вместо UserControl, которое закреплено в моем менеджере стыковки, оно работает нормально. Итак, что-то происходит с взаимодействием между окном AvalonEdit в AvalonDock и наличием его в каком-то другом окне. Кто-нибудь работал с этими двумя элементами управления вместе? Я знаю, что они оба используются в SharpDevelop, поэтому я ожидаю, что они должны хорошо работать вместе.

Я обнаружил еще одну проблему, которая также связана с alt с AvalonDock, но, похоже, это не совсем то, что я вижу: AvalonDock теперь теряет украшения Alt Key . Также они утверждают, что проблема была решена, и я даже не могу проверить решение в ответе, поскольку у меня нет / не использую Blend. Глядя на эту ошибку, я думаю, что это скорее проблема с AvalonDock, а не AvalonEdit

1 Ответ

0 голосов
/ 13 ноября 2018

В итоге оказалось, что AvalonDock не был виновником напрямую.Настоящей проблемой был элемент управления ленты WPF, который крал фокус, когда вы нажимали Alt.Убийство горячих клавиш на Ленте исправило взаимодействие редактора.

...