1

我有一个导航插件,我想扩展它以支持上下文导航。除了 NavigationOptions 实例之外,我拥有所需的一切。在我的INavigateFromHereProvider我被调用,IDataContext所以可以NavigationOptions使用该NavigationOptions.FromDataContext方法从中创建。伟大的。

在我的上下文操作中,我没有被调用 a ,而是在构造过程中IDataContext得到 a 。ICSharpContextActionDataProvider我可以从中得到我IDeclaredElement的导航决定,但我不确定如何创建我的NavigationOptions实例。感觉我应该使用NavigationOptions.FromWindowContext,但我似乎需要一个PopupWindowContextSource,但我不知道从哪里得到其中一个。

那么我在哪里可以获得相关PopupWindowContextSource的创建我NavigationOptions的?

4

2 回答 2

1

啊,发现了答案(嗯,一个答案)。

我可以使用这个:

 var popupWindowContextSource = solution.GetComponent<MainWindowPopupWindowContext>().Source;

我不确定这是否是最适合使用的东西,但它似乎有效。

于 2015-07-02T07:36:13.990 回答
0

您最好使用NavigationOptions.FromDataContext. 这将从IDataContext您已经拥有的窗口上下文中提取一个窗口上下文。这应该为您提供一个弹出窗口上下文,该上下文适合您被调用的位置 - 锚定到编辑器窗口或树视图或其他任何内容。使用MainWindowPopupContext将为您提供基于 Visual Studio 主窗口的上下文,该窗口可能会正常工作,但可能不是最相关的。

于 2015-07-07T09:58:23.220 回答