Posts Tagged 'Blend'

blendables has shipped!

After much sweat and toil, we’ve launched not one, but three products aimed at the discerning development shop that need to build non-trivial WPF applications quickly and reliably. Indeed many of the apps we’ve built ourselves, for our customers, leverage these controls, panels and tools. Check out the announcement for the details.

intellisense for blend

Something to ease the pain of switching between Visual Studio and Blend. An Intellisense AddIn for Blend!

A well executed, no-nonsense addin, reusing Kaxaml’s intellisense code and hooking Blends ICodeEditor. Well done, Stefan.

My only concern is what happens when a second highly useful addin becomes available. I hope Blend 3 has AddIn management on the table, or perhaps an AddIn Manager addin is in order…

debugging design-time exceptions

I just found an excellent tip from Peter Blois on debugging exceptions in blend. Many, many people have experienced this with controls that work perfectly at runtime but throw in the designer, to the point where most designers/integrators will build out in a seperate, throw-away project and paste the result into the real thing.

Good post, Pete!

the blend addin class

I discovered, much to my surprise, that Blend 2 has the necessary infrastructure to support rudimentary custom extensions.  The extensions take the form of a class which implements the public interface Microsoft.Expression.Framework.AddIn.IAddIn.

Inline is a very simple HelloWorld sample.

AddInDescription("HelloWorld", AddInCategory.Tool)]
public class HelloWorld : IAddIn
{
    public void Initialize(IApplicationService 
      applicationService) {}

    public void StartupComplete()
    {
        // Show we were here
        System.Windows.MessageBox.Show("Hi");
    }

    public void ShuttingDown() {}

    IDisposable Members
}

AddIns are hooked on startup, specified as command line arguments:
path\to\blend.exe /addin:HelloWorld.dll

blend addin test

blend addin hello world

When initialized, an Application ServiceProvider object reference is passed, which contains accessors to all the major service provider objects of Blend.  Through this, it’s possible to add custom menus and dialogs, possibly even panels, to Blend.

I expect there are alot of limitations.  The most glaring is loading Addins only by specifying them as commandline arguments. Much of Blend is internal and/or sealed, including Nautilus (Blend’s code editor), Visual Studio abstractions for Projects, Solutions, and the Build system.  Enough remains open to allow for some customization of existing features, and certainly for new features.

menu and dialog inside blend

An annoying custom menu and dialog inside blend

More discovery needs to be done.


 

January 2010
S M T W T F S
« Feb    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

about

Karim Hernandez is a dev at IdentityMine, building software using WPF and Silverlight.

profiles