在我的应用程序中,我们将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
中使用,所以我希望它们可以很好地协同工作。
我发现了另一个问题,该问题也与AvalonDock
有一个与alt有关的问题,但似乎与我所看到的不完全相同:AvalonDock Now Loses Alt Key Adornments。他们还声称问题已得到解决,因为我没有/没有使用Blend,我什至无法测试答案中的解决方案。查看该错误使我认为AvalonDock
的问题更多,而不是AvalonEdit
答案 0 :(得分:0)
最后,事实证明AvalonDock
不是直接的罪魁祸首。真正的问题是WPF功能区控件,当您按Alt时,该控件正在窃取焦点。在功能区上杀死快捷键可以修复编辑器之间的交互。