Interactions with AvalonEdit window in an AvalonDock

157 Views Asked by At

In my application we use AvalonDock for a docking manager, and have a variety of different windows. One of those contains an AvalonEdit editor. We recently noticed one specific interaction issue which I figured out to be caused by the AvalonDock.

When trying to block select code, you can use a bunch of different methods: Alt + click and drag, Alt + Shift + click and drag, Alt + Shift + arrow keys, and so on. One specific method, Alt + click and drag doesn't work. Specifically it does select, but typing doesn't work until you press either escape or space once. With Alt + Shift + click and drag it works fine.

I tested the AvalonEdit sample project as well as making my own simple example and it worked fine. When I put a test AvalonEdit window in a Window control instead of within a UserControl that's docked in my docking manager, it works fine. So something is going on with the interaction between having the AvalonEdit window within a AvalonDock vs. having it within some other window. Has anyone worked with these two controls together before? I know they're both used in SharpDevelop so I'd expect that they should work well together.

I found another issue which also has an alt-related issue with AvalonDock but it doesn't seem to be exactly what I'm seeing: AvalonDock Now Loses Alt Key Adornments. Also they claim that issue has been fixed, and I can't even test the solution in the answer as I don't have/use Blend. Looking at that bug makes me think it's more an issue with AvalonDock though and not AvalonEdit

1

There are 1 best solutions below

0
On

In the end it turned out that AvalonDock wasn't the culprit directly. The real issue was a WPF Ribbon control which was stealing the focus when you pressed Alt. Killing hotkeys on the Ribbon fixed the editor interactions.