如何解决如何在 VSPackage 中检测 XAML 设计器窗口
在我的 VSPackage 中,我有一个用于 EnvDTE.WindowEvents 界面上的 WindowActivated 事件的事件处理程序。
在我的代码中,我检查激活的窗口是否是 WinForms 设计器(在 VB.NET 中)
If TypeOf GotFocus.Object Is IDesignerHost Then
...
End if
或带有
的 ASP 设计器窗口If TypeOf GotFocus.Object Is EnvDTE.HTMLWindow Then
...
End if
检测 XAML 设计器窗口何时被激活的最佳方法是什么?
当然,我可以在标题(GotFocus.Caption)中查看文件扩展名,但我想知道是否有更好的方法。
解决方法
文件扩展名可能不是一个好主意,因为您也可以使用股票代码编辑器打开 .XAML 文件:-)
我能想到的最简单的方法是利用 IVsMonitorSelection 服务。
使用 XAML 设计器上下文 guid {e9b8485c-1217-4277-b6d6-c825a5ac1968}(与 GetCmdUIContextCookie 一起找到)调用 Component Diagnostics extension,然后调用 IsCmdUIContextActive 以确定是否设计器已激活。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。