2 回答

TA貢獻1790條經驗 獲得超9個贊
要檢測工具窗口何時關閉,您可以從IVsWindowFrameNotify3繼承它并在 OnShow 方法中檢查 fShow == (int) __FRAMESHOW.FRAMESHOW_WinClosed。

TA貢獻1807條經驗 獲得超9個贊
只是為了添加到@Sergey Vlasov 的回答 - 我發現了第二種方法,如果窗口被隱藏/顯示,則會收到通知。這是我的 WPF 控件視圖模型中的代碼。
EnvDTE.DTE dte = MyVSPackage.Instance.GetService<EnvDTE.DTE>();
// _visibilityEvents is a private field.
// There is a recommendation to store VS events objects in a field
// to prevent them from being GCed
_visibilityEvents = (dte?.Events as EnvDTE80.Events2)?.WindowVisibilityEvents;
if (_visibilityEvents != null)
{
_visibilityEvents.WindowShowing += VisibilityEvents_WindowShowing;
_visibilityEvents.WindowHiding += VisibilityEvents_WindowHiding;
}
- 2 回答
- 0 關注
- 99 瀏覽
添加回答
舉報