这是一个目标:在一些编辑器中删除导航栏(因为在选项中可能没有所有这些),所以需要使用扩展名。是否有任何扩展点来操作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)来操作它。