【问题标题】:Visual Studio 2010 Add-in Handling shortcut instead my WPF APPVisual Studio 2010 加载项处理快捷方式而不是我的 WPF APP
【发布时间】:2023-03-23 10:26:01
【问题描述】:
我有一些用 WPF 编写的 VS2010 插件。我的 WPF 应用程序处理一些基本的快捷方式。
以前,我的 WPF 是独立的应用程序,我使用快捷键(Ctr+c、Ctrl、v)处理了一些基本命令(复制、粘贴等)。
现在我的应用程序在 VS 中构建,我无法获取这些密钥,因为 VS 会处理它们并阻止它们。
我试图挂钩键盘事件,但我看到了很多,这是一种肮脏的方式。
VS 有什么方法想要处理快捷方式,或者至少我的应用程序将有机会首先处理事件?
这样做的正确方法是什么?
谢谢,里昂
【问题讨论】:
标签:
wpf
visual-studio-2010
add-in
keyboard-events
【解决方案1】:
您应该使用 Visual Studio 命令。 Visual Studio 有自己的键绑定,因此 Copy 可能不会映射到 Ctrl-C,具体取决于用户的设置。
查看IOleCommandTarget 和VsStd2k 命令集。根据您添加外接程序的方式,在某些时候,您将收到对包中 IOleCommandTarget 实现的调用。为了接收对您的 Execute 方法的调用,您首先需要告诉 IDE 您确实处理了该命令(为此,您需要实现 QueryStatus 并通知 VS 该命令是有效的处理)。复制命令在GUID_VSStandardCommandSet97 命令组中。