2013-08-06 60 views
0

如何在編輯器中插入帶有點擊事件或自定義按鈕的圖標。 我想創建看起來像R#或CodeRush的控件,然後點擊圖標打開智能標籤。 對不起,我的英語不好。 謝謝。文本編輯器中的Visual Studio擴展圖標

截圖:

創建智能標籤,但對文字或標準的重構標誌標準標誌。我想要自定義按鈕智能標籤。

+1

你真的需要提供更多的細節。你試過什麼了? –

+0

圖標是一個圖像,它不能有點擊事件,我不知道R#/ CodeRush是什麼,你應該更新你的問題,包括更多的細節 – Sayse

+0

你好。增加了截圖。 – Sequd

回答

0

當您創建智能標籤時,您可以設置ISmartTagSession.IconSource來設置要顯示的圖標。

+0

它是名單中的一個smarttag的圖標源?在打開智能標籤之前,我需要圖標。 – Sequd

+0

可以在視圖中創建並插入按鈕,但點擊時如何打開smarttags? – Sequd

+0

會話是頂級項目,包含操作列表。每個智能標籤操作也有一個單獨的圖標屬性。您的其他問題尚不清楚,但如果與此無關,最好關閉此問題並開始新問題。 –

0

我創建了usercontrol並在編輯器中插入。 舊控件SmartTag刪除。 如何在我的usercontol中添加智能標記操作?控制有菜單,但不能添加SmartTagActions。 如何讓我的控件創建而不是標準?標準控制始終創建。

private bool ButtonSmartTag(ITextView view) 
    { 
     foreach (ISmartTagSession s in _broke.GetSessions(view)) 
     { 
      var wpfTextView = (IWpfTextView)view;    
      var adornmentLayer = wpfTextView.GetAdornmentLayer("SmartTag"); 

      foreach (var alement in adornmentLayer.Elements) 
      { 
       adornmentLayer.RemoveAllAdornments(); 

       var line = view.GetTextViewLineContainingBufferPosition(_view.Caret.Position.BufferPosition); 
       alement.VisualSpan, "butRe", but, null); 

       var mb = new ReButtonMenu(); 
       mb.Margin = new Thickness(0, line.Top, 0, 0); 
       adornmentLayer.AddAdornment(AdornmentPositioningBehavior.TextRelative, alement.VisualSpan, "butRe", mb, null); 
      } 
     } 
     return false; 
    } 
相關問題