這是一個目標:在一些編輯器中刪除導航欄(因爲在選項中可能沒有所有這些),所以需要使用擴展名。是否有任何擴展點來操作Visual Studio導航欄?
所以這是它,我要刪除的東西:
我已經檢查的方法很多,最有前途的一個是負荷後訪問它在IWpfTextViewMargin
:
IWpfTextViewHost TextViewHost;
IWpfTextViewMargin ContainerMargin;
public DummyMargin(IWpfTextViewHost textViewHost,
IWpfTextViewMargin containerMargin)
{
this.TextViewHost = textViewHost;
this.ContainerMargin = containerMargin;
Loaded += DummyMargin_Loaded;
}
void DummyMargin_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
// ContainerMargin is loaded here
}
然後在視覺樹中向上遍歷以找到導航欄並將其隱藏在那裏:
但這是一個非常骯髒和不可靠的解決方案。你知道更好的嗎?特別是如果有一個擴展點(如其中一個:Editor Extension Points)來操作它。