我们正在开发用于Outlook 2010的VSTO加载项。它是一个WPF窗口,我们使用的是.NET 4.当用户拖动e时出现了一些奇怪的事情从电子邮件列表发送到我们的加载项。Outlook加载项拖放功能锁定活动浏览器
拖动时,如果鼠标光标进入我们加载项中的任何区域,电子邮件列表将不响应。这意味着,当用户尝试点击另一个电子邮件条目时,它不会再作出反应。它将只显示先前选择的电子邮件内容。如果用户点击Outlook资源管理器中的另一个文件夹(左侧的树形控件),用户可以“重置”电子邮件列表,然后一切恢复正常。
起初我以为这与我的drop事件处理程序中的一些未发布的对象有关。不过在测试我发现了一些奇怪的事情:
即使只有DragOver事件被触发(所以,如果没有下降情况),将出现问题。
只有当加载项的面板停靠在Outlook中,或者如果它未被锁住并与Outlook窗口(见图1)重叠时,才会出现此问题。 如果两个窗口不重叠,则问题不会发生。(Outlook窗口的左侧,我们的加载项是右侧)
图片1.重叠,发生在这种情况下,问题:
图片2.没有重叠,一切工作正常:
- 如果我告诉我们的面板在外部应用程序(而不是某个加载项),这是个e相同:只有当窗口与Outlook窗口重叠时才会出现此问题。
我们使用一些第三方控件(Infragistics的距离),但它似乎是无关的(同样的情况,当光标移过我们的外接正常WPF复选框,例如)。主网格不具有明确设置的“AllowDrop”属性,或与拖动相关的任何内容。我提到的复选框也是一样。
因此,如果任何人遇到类似的东西,我会很感激什么可能会导致此问题的任何提示。如有必要,我会提供更多细节(XAML或事件处理程序)。
注意[链接只有答案(HTTP ://meta.stackoverflow.com/tags/link-only-answers/info)是不鼓励的,所以SO答案应该是寻求解决方案的终点(而另一个引用的中途停留时间往往会过时随着时间的推移)。请考虑在此添加独立的摘要,并将链接保留为参考。 – kleopatra
@VeV感谢您的链接,很高兴看到我并不孤单,解决这个问题。我也在考虑取消选择并重新选择该文件夹作为解决方法。请写一个简短的解决方法摘要,以便我可以接受您的答案。 – Marton