0

我正在开发一个Visual Studio扩展(包),能够与Workflow Foundation 4活动进行交互。在EnvDTE中访问dte.ActiveDocument.ActiveWindow对象

如果活动在“代码视图”中打开,我可以访问xaml代码并解析它的属性。但是,如果活动以“设计模式”打开,我无法访问活动元素或xaml代码。

var dte = (DTE2)serviceProvider.GetService(typeof(SDTE)); 
if (dte != null && dte.ActiveDocument != null) 
{ 
    String xamlPath = dte.ActiveDocument.FullName; 
    var document = (TextDocument)dte.ActiveDocument.Object("TextDocument"); 
    if (document != null) 
    { 
     //Code View 
     var editPoint = document.CreateEditPoint(document.StartPoint); 
     String xaml = editPoint.GetText(document.EndPoint); 
    }else{ 
     //Designer ????? 
     //(dte.ActiveDocument.ActiveWindow.Object.designerHostView).ContentText; 
     //????? 
     } 

你们可以给我一个提示吗?

回答

0

与反思完成这个..

dte.ActiveDocument.ActiveWindow.Object它在\ Common7 \ IDE \ Microsoft.VisualStudio.Activities.dll发现

ContentText一个designerHostView 是发现了一个IDesignerViewToContractHostAdapter \ Common7 \ IDE \ HostSideAdapters \ Microsoft.VisualStudio.Activities.HostAdapter.dll