我想要扩展navigation plugin以支持上下文导航。除了NavigationOptions实例,我已经得到了我需要的一切。在我的INavigateFromHereProvider
中,我使用IDataContext
进行了调用,因此可以使用NavigationOptions
方法从中创建NavigationOptions.FromDataContext
。大。
在我的上下文操作中,我没有使用IDataContext
调用,在构造期间我得到了ICSharpContextActionDataProvider
。我可以从此获取IDeclaredElement
以确定我的导航决策,但我不确定如何创建我的NavigationOptions
实例。感觉我应该使用NavigationOptions.FromWindowContext
,但我似乎需要一个PopupWindowContextSource
,我不知道从哪里获得其中一个。
那么我在哪里可以获得相关的PopupWindowContextSource
来创建我的NavigationOptions
?
答案 0 :(得分:1)
我可以用这个:
var popupWindowContextSource = solution.GetComponent<MainWindowPopupWindowContext>().Source;
我不确定这是否是最适合使用的东西,但似乎有效。
答案 1 :(得分:0)
使用NavigationOptions.FromDataContext
可能会更好。这将从您已经获得的IDataContext
中提取窗口上下文。这应该为您提供一个适合您调用位置的弹出窗口上下文 - 锚定到编辑器窗口,树视图或其他任何内容。使用MainWindowPopupContext
将为您提供基于Visual Studio主窗口的上下文,该窗口可能会正常工作并且很好,但可能不是最相关的。