Extending expression blend (themed)

Preview:

DESCRIPTION

Presentation for Victoria Silverlight Developer Network Victoria about Extending Microsoft Expression Blend using .Net and MEF

Citation preview

Extending Expression

BlendCristian Prieto

Senior Developer, Readify

http://cprieto.com, @cprieto

Why to extend?

Sometimes it doesn’t do what you use to do in other tool

Maybe there’s a market for that out there, who knows!

Sometimes you feel bored at home and need to code something different

You because you can!

What can be extended?

Microsoft Expression Web

HTML Addins

Microsoft Expression Blend

Blend behaviors

Microsoft Expression Encoder

Publish addins

What Microsoft says:

This is not officially

supported!

What do I need?

A .Net language, of course!

MEF knowledge

ICommand, Service locator pattern knowledge… maybe

Reflector/ILSpy/Cecil

A lot of patience!

Blend Extension points

Officially supported

Behaviors (Blend SDK)

design-experience for custom controls

Item and Project templates

Not officially supported

Everything else!

Blend Extension Model

There are IPackage’s

AddIn’s

Extension’s

There is a “service container/locator”

IServices : IServiceProvider

There is an “application context”

ExpressionApplication

There is a service for almost anything

Because you already using it, right?Introduction to MEF

Now what you were waiting for…Our first extension

Come on! Don’t be so shy!

Questions?

ReferenceReflector 7

http://reflector.red-gate.com/download.aspx

ILSpy

http://wiki.sharpdevelop.net/ilspy.ashx

WPF Designer extensibility

http://msdn.microsoft.com/en-us/library/bb546938.aspx

Silverlight/WPF Designer extensibility

http://archive.msdn.microsoft.com/DesignerExtensbility

Expression Blend Designer extensibility

http://blogs.msdn.com/b/terryclancy/archive/2011/01/21/microsoft-expression-blend-4-extensibility.aspx

Building extensions for Expression Blend 4 using MEF

http://www.codeproject.com/Articles/75961/Building-extensions-for-Expression-Blend-4-using-M.aspx

MEF project on Codeplex

http://mef.codeplex.com/

(bonus track) Creating an Expression Encoder publishing plugin

http://msdn.microsoft.com/en-us/magazine/cc136758.aspx

Recommended