SlideShare a Scribd company logo
1 of 11
Extending Expression Blend Cristian 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?
Reference Reflector 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

More Related Content

Viewers also liked

Students need to be part of the community
Students need to be part of the communityStudents need to be part of the community
Students need to be part of the communityJesse Rodgers
 
Simple Project Management
Simple Project ManagementSimple Project Management
Simple Project ManagementJesse Rodgers
 
Node.js for .net developers
Node.js for .net developersNode.js for .net developers
Node.js for .net developerskementeus
 
Web Project Management
Web Project ManagementWeb Project Management
Web Project ManagementJesse Rodgers
 
Web Project Management Todcon2008
Web Project Management Todcon2008Web Project Management Todcon2008
Web Project Management Todcon2008Jesse Rodgers
 
Cross-platform targetálás
Cross-platform targetálásCross-platform targetálás
Cross-platform targetálásNandor Kovacs
 

Viewers also liked (7)

Students need to be part of the community
Students need to be part of the communityStudents need to be part of the community
Students need to be part of the community
 
Simple Project Management
Simple Project ManagementSimple Project Management
Simple Project Management
 
Node.js for .net developers
Node.js for .net developersNode.js for .net developers
Node.js for .net developers
 
Web Project Management
Web Project ManagementWeb Project Management
Web Project Management
 
Web Project Management Todcon2008
Web Project Management Todcon2008Web Project Management Todcon2008
Web Project Management Todcon2008
 
Pipas in Rio
Pipas in Rio Pipas in Rio
Pipas in Rio
 
Cross-platform targetálás
Cross-platform targetálásCross-platform targetálás
Cross-platform targetálás
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Extending expression blend (themed)

  • 1. Extending Expression Blend Cristian Prieto Senior Developer, Readify http://cprieto.com, @cprieto
  • 2. 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!
  • 3. What can be extended? Microsoft Expression Web HTML Addins Microsoft Expression Blend Blend behaviors Microsoft Expression Encoder Publish addins
  • 4. What Microsoft says: This is not officially supported!
  • 5. What do I need? A .Net language, of course! MEF knowledge ICommand, Service locator pattern knowledge… maybe Reflector/ILSpy/Cecil A lot of patience!
  • 6. Blend Extension points Officially supported Behaviors (Blend SDK) design-experience for custom controls Item and Project templates Not officially supported Everything else!
  • 7. 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
  • 8. Because you already using it, right? Introduction to MEF
  • 9. Now what you were waiting for… Our first extension
  • 10. Come on! Don’t be so shy! Questions?
  • 11. Reference Reflector 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