<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>design-time writer's block &#187; Expression Blend</title>
	<atom:link href="http://www.dragonshed.org/blog/tag/expression-blend/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dragonshed.org/blog</link>
	<description>deadly sharp lines, waves of sine, intersecting shapes with tweens and keysplines</description>
	<lastBuildDate>Wed, 10 Feb 2010 06:04:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>drafting behaviors</title>
		<link>http://www.dragonshed.org/blog/2009/07/27/drafting-behaviors/</link>
		<comments>http://www.dragonshed.org/blog/2009/07/27/drafting-behaviors/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 21:11:32 +0000</pubDate>
		<dc:creator>Karim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Behaviors]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[IdentityMine]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.dragonshed.org/blog/?p=257</guid>
		<description><![CDATA[I finally had a chance to explore Expression Blend’s Interactivity SDK a bit and put together a simple HelloWorld app using it with Blend 3.

At the center is a rough custom Behavior that is able to share the visual state of controls that are bound to the same data object.  Once the behavior was [...]]]></description>
			<content:encoded><![CDATA[<p>I finally had a chance to explore Expression Blend’s Interactivity SDK a bit and put together a simple HelloWorld app using it with Blend 3.</p>
<p><a href="http://www.dragonshed.org/samples/sharedvisualstate/"><img title="Screenshot" src="http://www.dragonshed.org/samples/sharedvisualstate/sshot.png" alt="Screenshot" width="482" height="218" /></a></p>
<p>At the center is a rough custom Behavior that is able to share the visual state of controls that are bound to the same data object.  Once the behavior was functional, I simply needed to add the behavior to two Buttons, bind the buttons to the same data, and wire an event to trigger the state change.</p>
<pre style="font-size: 1em; line-height: 1.2em;"><span style="color: #a31515;"><span style="color: #3366ff;">&lt;</span>Button <span style="color: #ff0000;">MouseEnter</span><span style="color: #3366ff;">="enterHandler"</span> <span style="color: #ff0000;">MouseLeave</span><span style="color: #3366ff;">="leaveHandler"&gt;</span>
  <span style="color: #3366ff;">&lt;</span>i<span style="color: #3366ff;">:</span>Interaction.Behaviors<span style="color: #3366ff;">&gt;</span>
    <span style="color: #3366ff;">&lt;</span>local<span style="color: #3366ff;">:</span>SharedVisualStateBehavior <span style="color: #ff0000;">Source</span><span style="color: #3366ff;">="{</span>Binding<span style="color: #3366ff;">}" /&gt;</span>
  <span style="color: #3366ff;">&lt;</span><span style="color: #3366ff;">/</span>i<span style="color: #3366ff;">:</span>Interaction.Behaviors<span style="color: #3366ff;">&gt;</span>
<span style="color: #3366ff;">&lt;/</span>Button<span style="color: #3366ff;">&gt;

<span style="color: #000000;"><span style="color: #0000ff;">private void </span>enterHandler(<span style="color: #0000ff;">object </span>sender, <span style="color: #2b91af;">MouseEventArgs </span>e)
{
  <span style="color: #2b91af;">SharedVisualStateBehavior</span>.GoToSharedState(
</span></span></span><span style="color: #a31515;"><span style="color: #3366ff;"><span style="color: #000000;">  </span></span></span><span style="color: #a31515;"><span style="color: #3366ff;"><span style="color: #000000;">  </span></span></span><span style="color: #a31515;"></span><span style="color: #a31515;"><span style="color: #3366ff;"><span style="color: #000000;">(<span style="color: #2b91af;">Control</span>)sender, <span style="color: #993300;">"MouseOver"</span>);
}
<span style="color: #0000ff;">private </span><span style="color: #0000ff;">void </span>leaveHandler(<span style="color: #0000ff;">object </span>sender, <span style="color: #2b91af;">MouseEventArgs </span>e)
{
  <span style="color: #2b91af;">SharedVisualStateBehavior</span>.GoToSharedState(
</span></span></span><span style="color: #a31515;"><span style="color: #3366ff;"><span style="color: #000000;">  </span></span></span><span style="color: #a31515;"><span style="color: #3366ff;"><span style="color: #000000;">  </span></span></span><span style="color: #a31515;"><span style="color: #3366ff;"><span style="color: #000000;">(<span style="color: #2b91af;">Control</span>)sender, <span style="color: #993300;">"Normal"</span>);
}</span></span></span></pre>
<p>Because of the need to call a static method to actually make use of it, meaning it&#8217;s not selfcontained, it doesn&#8217;t really qualify as a Behavior.  The ideal SharedVSM would be able to take input in the form of VisualState parameters and possibly a trigger, in order to notify the shared controls of state changes.  It&#8217;s a work in progress.</p>
<p><em>Thanks to Kuler for the <a href="http://kuler.adobe.com/#themeID/481195">theme</a>, Josh Smith for ObserveableObject from <a href="http://mvvmfoundation.codeplex.com/">MVVM Foundation</a>, and Pete Blois for BindingListener from <a href="http://expressionblend.codeplex.com/">Expression Samples</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dragonshed.org/blog/2009/07/27/drafting-behaviors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>silverlight released &#8211; bookmark roundup</title>
		<link>http://www.dragonshed.org/blog/2009/07/26/silverlight-released-bookmarks/</link>
		<comments>http://www.dragonshed.org/blog/2009/07/26/silverlight-released-bookmarks/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 05:56:41 +0000</pubDate>
		<dc:creator>Karim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.dragonshed.org/blog/?p=249</guid>
		<description><![CDATA[Lots of releases this month; Silverlight 3, Blend 3 with Sketchflow, and an updated Deep Zoom composer all shipped.  Windows 7 is around the corner and Wpf4 is in the pipe.  It’s a great time to be working in UX.
Downloads
Silverlight 3 Dev Tools &#8211; Web Installer
Expression Blend 3
Deep Zoom Composer
Silverlight Toolkit
Expression Blend Samples
Noteworthy [...]]]></description>
			<content:encoded><![CDATA[<p>Lots of releases this month; Silverlight 3, Blend 3 with Sketchflow, and an updated Deep Zoom composer all shipped.  Windows 7 is around the corner and Wpf4 is in the pipe.  It’s a great time to be working in UX.</p>
<p><strong>Downloads</strong><br />
<a href="http://www.microsoft.com/web/gallery/install.aspx?appsxml=www.microsoft.com%2Fweb%2Fwebpi%2F2.0%2FWebProductList.xml%3Bwww.microsoft.com%2Fweb%2Fwebpi%2F2.0%2FWebProductList.xml&amp;appid=78%3B121">Silverlight 3 Dev Tools &#8211; Web Installer</a><br />
<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=e82db5e2-7106-419e-80b0-65cce89f06bb">Expression Blend 3</a><br />
<a href="http://go.microsoft.com/fwlink/?LinkID=157112">Deep Zoom Composer</a><br />
<a href="http://go.microsoft.com/fwlink/?LinkID=157133">Silverlight Toolkit</a><br />
<a href="http://expressionblend.codeplex.com/">Expression Blend Samples</a></p>
<p><strong>Noteworthy Sites</strong><br />
<a href="http://www.preraphaelites.org/personal-collections/zoom/37/exceptional-colour/">Birmingham Museums &amp; Art Gallery</a><br />
<a href="http://www.thirteen23.com/experiences/desktop/ted/">Thirteen23’s TED Player</a><br />
<a href="http://www.identitymine.com/forward/">IdentityMine</a><br />
<a href="http://www.microsoft.com/silverlight/">Microsoft</a><br />
<a href="http://beta.silverlight.net/">Silverlight.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dragonshed.org/blog/2009/07/26/silverlight-released-bookmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>silverlight 3 beta available</title>
		<link>http://www.dragonshed.org/blog/2009/03/18/silverlight-3-beta-available/</link>
		<comments>http://www.dragonshed.org/blog/2009/03/18/silverlight-3-beta-available/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 15:54:36 +0000</pubDate>
		<dc:creator>Karim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[mix2009]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[silverlight 3]]></category>

		<guid isPermaLink="false">http://www.dragonshed.org/blog/?p=232</guid>
		<description><![CDATA[As of this morning, downloads are published for the Silverlight 3 Runtime, SDK, Tools and Blend.
Blend
Silverlight 3 Runtime
Silverlight 3 Tools for Visual Studio 2008 SP1
SDK
Looking forward to exploring the new features and changes.
]]></description>
			<content:encoded><![CDATA[<p>As of this morning, downloads are published for the Silverlight 3 Runtime, SDK, Tools and Blend.</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=a04aa0ae-87be-4201-a65e-e792859122fc">Blend</a><br />
<a href="http://go.microsoft.com/fwlink/?linkid=143433">Silverlight 3 Runtime</a><br />
<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4">Silverlight 3 Tools for Visual Studio 2008 SP1</a><br />
<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4">SDK</a></p>
<p>Looking forward to exploring the new features and changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dragonshed.org/blog/2009/03/18/silverlight-3-beta-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>blendables has shipped!</title>
		<link>http://www.dragonshed.org/blog/2008/09/18/blendables-has-shipped/</link>
		<comments>http://www.dragonshed.org/blog/2008/09/18/blendables-has-shipped/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 06:30:52 +0000</pubDate>
		<dc:creator>Karim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blend]]></category>
		<category><![CDATA[blendables]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://dragonshed.wordpress.com/?p=172</guid>
		<description><![CDATA[After much sweat and toil, we&#8217;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&#8217;ve built ourselves, for our customers, leverage these controls, panels and tools.  Check out the announcement for the details.
]]></description>
			<content:encoded><![CDATA[<p>After much sweat and toil, we&#8217;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&#8217;ve built ourselves, for our customers, leverage these controls, panels and tools.  Check out the <a href="http://blendables.com/blogs/blendables/archive/2008/09/18/blendables-essentials-mix-1-1-layout-mix-1-0-and-3d-mix-1-0-now-available.aspx">announcement</a> for the details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dragonshed.org/blog/2008/09/18/blendables-has-shipped/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debugging design-time exceptions</title>
		<link>http://www.dragonshed.org/blog/2008/07/13/debugging-design-time-exceptions/</link>
		<comments>http://www.dragonshed.org/blog/2008/07/13/debugging-design-time-exceptions/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 18:20:46 +0000</pubDate>
		<dc:creator>Karim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blend]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://dragonshed.wordpress.com/?p=89</guid>
		<description><![CDATA[
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 [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:left;padding-bottom:20px;">
I just found an excellent tip from Peter Blois on <a href="http://blogs.msdn.com/expression/archive/2008/06/19/debugging-design-time-exceptions.aspx">debugging exceptions in blend</a>.  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.</p>
<p>Good post, Pete!
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.dragonshed.org/blog/2008/07/13/debugging-design-time-exceptions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the blend addin class</title>
		<link>http://www.dragonshed.org/blog/2008/07/11/blend-addin/</link>
		<comments>http://www.dragonshed.org/blog/2008/07/11/blend-addin/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 01:35:28 +0000</pubDate>
		<dc:creator>Karim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blend]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://dragonshed.wordpress.com/?p=21</guid>
		<description><![CDATA[I discovered, much to my surprise, that Blend 2 has the necessary infrastructure to support rudimentary custom extensions.]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>Inline is a very simple HelloWorld sample.</p>
<pre style="font-size:1em;line-height:1.2em;"><span style="color:#2b91af;">AddInDescription</span>(<span style="color:#993300;">"HelloWorld"</span>, <span style="color:#2b91af;">AddInCategory</span>.Tool)]
<span style="color:#3366ff;">public class </span><span style="color:#2b91af;">HelloWorld </span>: <span style="color:#2b91af;">IAddIn</span>
{
    <span style="color:#3366ff;">public void </span>Initialize(<span style="color:#2b91af;">IApplicationService </span>
      applicationService) {}

    <span style="color:#3366ff;">public void</span> StartupComplete()
    {
        <span style="color:#339966;">// Show we were here</span>
        System.Windows.<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#993300;">"Hi"</span>);
    }

    <span style="color:#3366ff;">public void</span> ShuttingDown() {}

    <span style="color:#999999;">IDisposable Members</span>
}</pre>
<p>AddIns are hooked on startup, specified as command line arguments:<br />
path\to\blend.exe /addin:HelloWorld.dll</p>
<p><a href="http://dragonshed.files.wordpress.com/2008/07/blendhi.png"><img class="size-full wp-image-33" style="border: 2px solid black;" src="http://dragonshed.files.wordpress.com/2008/07/blendhi.png" alt="blend addin test" width="499" height="214" /></a></p>
<p>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.</p>
<p>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&#8217;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.</p>
<p><a href="http://dragonshed.files.wordpress.com/2008/07/blendablesaddin.png"><img class="size-full wp-image-34" style="border: 2px solid black;" src="http://dragonshed.files.wordpress.com/2008/07/blendablesaddin.png" alt="menu and dialog inside blend" width="500" height="381" /></a></p>
<p>More discovery needs to be done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dragonshed.org/blog/2008/07/11/blend-addin/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
