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