これが目標です。拡張機能によって、一部のエディター(オプションで可能なすべてのエディターではない)のナビゲーションバーを削除することです。
だからここに私が削除したいものがあります:
私は多くの方法をチェックしましたが、最も有望な方法は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
}
次に、ビジュアルツリーを上方向にトラバースして、ナビゲーションバーを見つけ、そこで非表示にします。
しかし、これは非常に汚くて信頼性の低い解決策です。もっと良いものを知っていますか?特に、それを操作するための拡張ポイント(これらのいずれかのような:エディター拡張ポイント)がある場合。