2013-10-05 36 views
1

我有一個Visual Studio擴展,我正在處理。我已經實現了一些錯誤標記,這很好。但是,一些錯誤引用了代碼中的其他位置。我希望用戶可以點擊這些位置並在那裏進行。 ErrorTag的定義允許Object作爲工具提示,這不是非常有用的,而且文檔看起來對於實際應該是什麼非常有抵觸性。到目前爲止,我只能使用String作爲工具提示。Visual Studio擴展 - 交互式錯誤彈出框

此外,當用戶離開錯誤文本跨度時,錯誤彈出窗口被破壞。我將需要它保持,而用戶仍然在文本上彈出內容。我發現了一個可以控制這種行爲的枚舉,但我不確定如何應用它。我需要使用DismissOnMouseLeaveTextOrContent成員來設置適當的行爲。

如何實現交互式錯誤工具提示?

編輯:我發現一個UIElement是一個有效的參數 - 例如,我用一個標籤替換了字符串。除了一些格式問題,我仍然需要知道如何更改彈出式樣式。

回答

0

錯誤彈出窗口旨在成爲靜態工具提示,僅此而已。它不應該是互動的。

PopupStyles枚舉似乎用於ISpaceReservationManagerIToolTipProvider - 根本沒有與標記API的真正連接。你可能會做的是偵聽IWpfTextView.MouseHover事件,然後使用其中一個API觸發可以與之交互的工具提示。

+0

我的確嘗試過這種解決方案。我發佈了沒有TooltipContent的IErrorTag,然後監聽了MouseHover並使用了IToolTipProvider。不幸的是,不僅所有的樣式都丟失了,而且彈出式樣式甚至不起作用 - 即使我使用了DismissOnMouseLeaveTextOrContent,文本也會像以前一樣被解散。 – Puppy