I am attempting to determine user actions inside the DevStudio designers.
I am using an Add-In to accomplish this by getting the active window (in
a 'WindowActivated' DTE event) from the DTE object and checking if it is
an IDesignerHost. If it is I then add selection event handlers so that I
can capture selection changes. The code looks like this:
//_dte.Events.get_WindowEvents.WindowActivated Handler
public void WindowActivated(
EnvDTE.Window gotFocus,
EnvDTE.Window lostFocus)
{
if(gotFocus.Type == EnvDTE.vsWindowType.vsWindowTypeDocument)
{
if ( ( gotFocus.Object is IDesignerHost ) == true )
{
//do some processing here on the IDesignerHost interface....
}
}
}
This works great with a Win Forms designer. During debugging
the 'gotFocus.Object' shows as a
Microsoft.VisualStudio.Designer.Host.DesignerHost type and it is
an 'IDesignerHost'.
Unfortunately (for me) when a Web Form is activated the type is shown
as 'System.__ComObject' and it is definitely not an 'IDesignerHost'. Is
there any way to get to the 'IDesignerHost' for a Web Form Designer?
Alternatively, is there a way to capture events on the Web Form designer?
What is the type of the Web Forms designer?
- Thanks
Brian