I have found that having all projects expanded by default can be annoying, as I tend to open solution files when working in Microsoft Expression Blend. This often leaves me having to collapse each project individually. Within Visual Studio, I use PowerCommands for VS2010 and PowerCommands for VS2008 to provide the collapse-all functionality and it works great.
Since Blend 4 uses MEF, I set out on writing an extension to provide this functionality. I learned how to begin with How to Hack Expression Blend. The most helpful article I found was Building Extensions for Expression Blend 4 Using MEF by Timmy Kokke. Following his startup example, I was able to use the debugger and figure out how to interact with Blend’s various parts. I put forth some effort to have a dropdown menu or button added to the right of the Help entry, but I haven’t finished that exercise yet. Ideally, I would like to have an entry added to the context menu of the Projects window when right-clicking on a solution or project file. In the mean time, I have it working with a docking window.
Step 1: Installation
Download (DLL only):
Extract the extension DLL to the folder location “….Program Files (x86)Microsoft ExpressionBlend 4Extensions”. You may have to right-click on the DLL and click the Unblock button.
Step 2: Using the Extension
After a successful installation, the Window dropdown menu should contain an entry for Collapse All Projects. As you can see from the screenshot, I have configured the extension to use Ctrl+Shift+C as a shortcut.
Once the menu item is selected, a popup window should appear. This window is like the Projects, Properties, Assets, etc. windows within Blend, which means you can dock it. I’ve chosen to dock it to the bottom as shown below.
Hovering over the window shows the contents. Simply click the button for the collapse all to be applied.
That is it! If you find any bugs or issues with this, please let me know. If you get around to making it a context menu item or as a main entry of the top dropdown menu, please share.
- I wanted to use Mole, but was developing in VS2010. It doesn’t appear there is a compatible version yet. Speaking of which, I would really like to see Mole for Silverlight.
Download the Source:
- Developed using Visual Studio 2010 (Version 10.0.30319.1) and tested with Microsoft Expression Blend 4 RC (Version 4.0.20408.0)
- Download Solution – DevTreats.BlendCollapseAll.Extension.zip