<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>A Software Developer's Weblog</title>
	<atom:link href="http://swdeveloper.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://swdeveloper.wordpress.com</link>
	<description>Software Development and Project Management</description>
	<lastBuildDate>Thu, 08 Dec 2011 04:17:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='swdeveloper.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>A Software Developer's Weblog</title>
		<link>http://swdeveloper.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://swdeveloper.wordpress.com/osd.xml" title="A Software Developer&#039;s Weblog" />
	<atom:link rel='hub' href='http://swdeveloper.wordpress.com/?pushpress=hub'/>
		<item>
		<title>WPF &amp; XAML:  Multiple Style Inheritance and Markup Extensions</title>
		<link>http://swdeveloper.wordpress.com/2009/01/03/wpf-xaml-multiple-style-inheritance-and-markup-extensions/</link>
		<comments>http://swdeveloper.wordpress.com/2009/01/03/wpf-xaml-multiple-style-inheritance-and-markup-extensions/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 03:58:41 +0000</pubDate>
		<dc:creator>swdeveloper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://swdeveloper.wordpress.com/?p=27</guid>
		<description><![CDATA[WPF provides a way for a Style to inherit from  another Style, using the BasedOn attribute.   This is basically single inheritance for styles. We recently came across a &#8220;need&#8221; to inherit from multiple styles.  Our UX designers had globally restyled the look of some of our controls, and our developers had used styles and triggers for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swdeveloper.wordpress.com&amp;blog=2432973&amp;post=27&amp;subd=swdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>WPF provides a way for a Style to inherit from  another Style, using the BasedOn attribute.   This is basically single inheritance for styles.</p>
<p>We recently came across a &#8220;need&#8221; to inherit from multiple styles.  Our UX designers had globally restyled the look of some of our controls, and our developers had used styles and triggers for enabling &amp; disabling (amoung other things) some local controls.</p>
<p>We could have created a brand new Style &#8212; basing it on the UX Style (for example) and then cutting and pasting the style elements from the second style.  However, we weren&#8217;t too keen on duplicating the second Style&#8217;s trigger logic. </p>
<p>Since WPF/XAML doesn&#8217;t include a built-in way to inherit from multiple styles (as it does for inheriting from a single style), we decided to create our own way of doing just that, using a custom Markup Extension.</p>
<p>The MergedStylesExtension merges two styles together, and returns a new Style.  It does this by utilizing the <em>BasedOn</em> attribute to inherit from the first Style, and then it programmatically copies all of the setter and trigger elements from the second Style.</p>
<p>A basic version of it is as follows:</p>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">[<span style="color:#2b91af;">MarkupExtensionReturnType</span>(<span style="color:blue;">typeof</span>(<span style="color:#2b91af;">Style</span>))]</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:blue;font-family:&quot;">public</span><span style="font-size:10pt;font-family:&quot;"> <span style="color:blue;">class</span> <span style="color:#2b91af;">MergedStylesExtension</span> : <span style="color:#2b91af;">MarkupExtension</span></span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">{</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">   <span style="color:blue;">public</span> <span style="color:#2b91af;">Style</span> BasedOn    { <span style="color:blue;">get</span>; <span style="color:blue;">set</span>; }</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">   <span style="color:blue;">public</span> <span style="color:#2b91af;">Style</span> MergeStyle { <span style="color:blue;">get</span>; <span style="color:blue;">set</span>; }</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">   <span style="color:blue;">public</span> <span style="color:blue;">override</span> <span style="color:blue;">object</span> ProvideValue(<span style="color:#2b91af;">IServiceProvider
                                       </span>serviceProvider)</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">   {</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">      <span style="color:blue;">if</span> (<span style="color:blue;">null</span> == MergeStyle)</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">         <span style="color:blue;">return</span> BasedOn;</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">      <span style="color:#2b91af;">Style</span> newStyle = <span style="color:blue;">new</span> <span style="color:#2b91af;">Style</span>(BasedOn.TargetType,
                                 BasedOn);</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">      MergeWithStyle(newStyle, MergeStyle);</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">      <span style="color:blue;">return</span> newStyle;</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">   }</span><span style="font-size:10pt;font-family:&quot;">   

<span style="font-size:10pt;color:blue;font-family:&quot;">   private</span><span style="font-size:10pt;color:black;font-family:&quot;"> </span><span style="font-size:10pt;color:blue;font-family:&quot;">static</span><span style="font-size:10pt;color:black;font-family:&quot;"> </span><span style="font-size:10pt;color:blue;font-family:&quot;">void</span><span style="font-size:10pt;color:black;font-family:&quot;"> MergeWithStyle(</span><span style="font-size:10pt;color:#2b91af;font-family:&quot;">Style</span><span style="font-size:10pt;color:black;font-family:&quot;"> style,
</span><span style="font-size:10pt;color:#2b91af;font-family:&quot;">                                      Style</span><span style="font-size:10pt;color:black;font-family:&quot;"> mergeStyle)</span>
<span style="font-size:10pt;color:black;font-family:&quot;">   {</span>
<span style="font-size:10pt;color:black;font-family:&quot;">      </span><span style="font-size:10pt;color:green;font-family:&quot;">// Recursively merge with any Styles this Style
      // might be BasedOn.</span>
<span style="font-size:10pt;color:black;font-family:&quot;">      </span><span style="font-size:10pt;color:blue;font-family:&quot;">if</span><span style="font-size:10pt;color:black;font-family:&quot;"> (mergeStyle.BasedOn != </span><span style="font-size:10pt;color:blue;font-family:&quot;">null</span><span style="font-size:10pt;color:black;font-family:&quot;">)</span>
<span style="font-size:10pt;color:black;font-family:&quot;">      {</span>
<span style="font-size:10pt;color:black;font-family:&quot;">          MergeWithStyle(style, mergeStyle.BasedOn);</span>
<span style="font-size:10pt;color:black;font-family:&quot;">      }</span>

<span style="font-size:10pt;color:black;font-family:&quot;">      </span><span style="font-size:10pt;color:green;font-family:&quot;">// Merge the Setters...</span>
<span style="font-size:10pt;color:green;font-family:&quot;">      </span><span style="font-size:10pt;color:blue;font-family:&quot;">foreach</span><span style="font-size:10pt;color:black;font-family:&quot;"> (</span><span style="font-size:10pt;color:blue;font-family:&quot;">var</span><span style="font-size:10pt;color:black;font-family:&quot;"> setter </span><span style="font-size:10pt;color:blue;font-family:&quot;">in</span><span style="font-size:10pt;color:black;font-family:&quot;"> mergeStyle.Setters)</span>
<span style="font-size:10pt;color:black;font-family:&quot;">         style.Setters.Add(setter);</span>
<span style="font-size:10pt;color:black;font-family:&quot;">    </span>
<span style="font-size:10pt;color:black;font-family:&quot;">      </span><span style="font-size:10pt;color:green;font-family:&quot;">// Merge the Triggers...</span>
<span style="font-size:10pt;color:black;font-family:&quot;">      </span><span style="font-size:10pt;color:blue;font-family:&quot;">foreach</span><span style="font-size:10pt;color:black;font-family:&quot;"> (</span><span style="font-size:10pt;color:blue;font-family:&quot;">var</span><span style="font-size:10pt;color:black;font-family:&quot;"> trigger </span><span style="font-size:10pt;color:blue;font-family:&quot;">in</span><span style="font-size:10pt;color:black;font-family:&quot;"> mergeStyle.Triggers)</span>
<span style="font-size:10pt;color:black;font-family:&quot;">         style.Triggers.Add(trigger);</span>
<span style="font-size:10pt;color:black;font-family:&quot;">    }</span>
</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">}</span></pre>
<p class="MsoNormal" style="text-align:left;margin:0;"> </p>
<p class="MsoNormal" style="text-align:left;margin:0;">Using the custom extension method in XAML should be similar to using other, built-in extensions:</p>
<p class="MsoNormal" style="text-align:left;margin:0;"> <span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:blue;font-family:'Courier New';">&lt;</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';">Button</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:red;font-family:'Courier New';">   Style</span><span style="font-size:10pt;color:blue;font-family:'Courier New';">="{</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';">ext</span><span style="font-size:10pt;color:blue;font-family:'Courier New';">:</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';">MergedStyles</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:'Courier New';">  <span style="color:red;">          BasedOn</span><span style="color:blue;">={</span><span style="color:#a31515;">StaticResource</span><span style="color:red;"> <span style="color:#3366ff;">FirstStyle</span></span><span style="color:blue;">}</span></span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:'Courier New';">            <span style="color:red;">MergeStyle</span><span style="color:blue;">={</span><span style="color:#a31515;">StaticResource</span><span style="color:red;"> <span style="color:#3366ff;">SecondStyle</span></span><span style="color:blue;">}}"</span></span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:'Courier New';">   <span style="color:red;">Content</span><span style="color:blue;">="This is an example of a merged style" /&gt;</span></span></pre>
<p class="MsoNormal" style="text-align:left;margin:0;"> </p>
<p class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;">However, due to a WPF bug (see: <span style="font-size:11pt;font-family:Calibri,sans-serif;" lang="EN-US"><a href="http://www.hardcodet.net/2008/04/nested-markup-extension-bug">http://www.hardcodet.net/2008/04/nested-markup-extension-bug</a>), this won&#8217;t quite work.  Instead, we need to resort to property element syntax:</span></span></p>
<p class="MsoNormal" style="text-align:left;margin:0;"> <br />
<span style="font-size:10pt;font-family:&quot;"><span style="font-size:11pt;font-family:Calibri,sans-serif;" lang="EN-US"><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">&lt;</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">Button</span></span></span> </p>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;font-family:'Courier New';" lang="EN-US">  <span style="color:red;"> Content</span><span style="color:blue;">="This is an example of a merged style"&gt;</span></span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">   </span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">&lt;</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">Button.Style</span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">&gt;</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">      &lt;</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">ext</span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">:</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';">MergedStyles</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">          </span><span style="font-size:10pt;color:red;font-family:'Courier New';" lang="EN-US">BasedOn</span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">="{</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">StaticResource</span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US"> <span style="color:#3366ff;">FirstStyle</span>}"</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">       </span><span style="font-size:10pt;color:red;font-family:'Courier New';" lang="EN-US">   MergeStyle</span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">="{</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">StaticResource</span><span style="font-size:10pt;color:red;font-family:'Courier New';" lang="EN-US"> <span style="color:#3366ff;">SecondStyle</span></span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">}"/&gt;</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">   </span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">&lt;/</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">Button.Style</span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">&gt;</span></pre>
<pre class="MsoNormal" style="text-align:left;margin:0;"><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">&lt;/</span><span style="font-size:10pt;color:#a31515;font-family:'Courier New';" lang="EN-US">Button</span><span style="font-size:10pt;color:blue;font-family:'Courier New';" lang="EN-US">&gt;</span></pre>
<p class="MsoNormal" style="text-align:left;margin:0;"> </p>
<p class="MsoNormal" style="text-align:left;margin:0;">You can also define the merged style in the Resources section of your XAML file, if you intend to use it in more than one place:</p>
<pre class="MsoNormal" style="text-align:left;"><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US"><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">&lt;</span><span style="font-size:10pt;color:#a31515;font-family:&quot;" lang="EN-US">Style <span style="color:#ff0000;"><span style="color:#ff0000;">x</span></span><span style="color:#0000ff;"><span style="color:#0000ff;">:</span></span><span style="color:#ff0000;"><span style="color:#ff0000;">Key</span></span><span style="color:#0000ff;"><span style="color:#0000ff;">="MergedStyle"
      </span></span><span style="color:#ff0000;"><span style="color:#ff0000;"> TargetType</span></span><span style="color:#0000ff;"><span style="color:#0000ff;">="{</span></span><span style="color:#a31515;"><span style="color:#a31515;">x</span></span><span style="color:#0000ff;"><span style="color:#0000ff;">:</span></span><span style="color:#a31515;"><span style="color:#a31515;">Type</span></span><span style="color:#ff0000;"><span style="color:#ff0000;"> Control</span></span><span style="color:#0000ff;"><span style="color:#0000ff;">}"</span></span></span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">&gt;
    </span></span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US"><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US"><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#0000ff;">&lt;</span></span></span></span><span style="color:#a31515;"><span style="color:#a31515;">Style.BasedOn</span></span><span style="color:#0000ff;"><span style="color:#0000ff;">&gt;
       </span></span></span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">&lt;</span><span style="font-size:10pt;color:#a31515;font-family:&quot;" lang="EN-US">ext</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">:</span><span style="font-size:10pt;color:#a31515;font-family:&quot;">MergedStyles
</span><span style="font-size:10pt;color:#a31515;font-family:&quot;" lang="EN-US">           </span><span style="font-size:10pt;color:red;font-family:&quot;" lang="EN-US">BasedOn</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">="{</span><span style="font-size:10pt;color:#a31515;font-family:&quot;" lang="EN-US">StaticResource</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US"> </span><span style="font-size:10pt;color:#3366ff;font-family:&quot;" lang="EN-US">FirstStyle</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">}"
</span></span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US"><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">    </span><span style="font-size:10pt;color:red;font-family:&quot;" lang="EN-US">       MergeStyle</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">="{</span><span style="font-size:10pt;color:#a31515;font-family:&quot;" lang="EN-US">StaticResource</span><span style="font-size:10pt;color:red;font-family:&quot;" lang="EN-US"> </span><span style="font-size:10pt;color:#3366ff;font-family:&quot;" lang="EN-US">SecondStyle</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">}"/&gt;</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US"><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">
    &lt;/</span></span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US"><span style="color:#a31515;"><span style="color:#a31515;">Style.BasedOn</span></span><span style="color:#0000ff;"><span style="color:#0000ff;">&gt;</span></span>
</span></span>&lt;/</span><span style="font-size:10pt;color:#a31515;font-family:&quot;" lang="EN-US">Style</span><span style="font-size:10pt;color:blue;font-family:&quot;" lang="EN-US">&gt;</span></span></pre>
<p class="MsoNormal" style="text-align:left;"><span style="font-size:10pt;font-family:&quot;" lang="EN-US"><span style="color:#000000;">For more information on creating your own custom Markup Extensions, see: <a href="http://dotnet.dzone.com/news/extend-wpf-add-your-own-keywor">http://dotnet.dzone.com/news/extend-wpf-add-your-own-keywor</a>.</span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/swdeveloper.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/swdeveloper.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/swdeveloper.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/swdeveloper.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/swdeveloper.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/swdeveloper.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/swdeveloper.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/swdeveloper.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/swdeveloper.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/swdeveloper.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/swdeveloper.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/swdeveloper.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/swdeveloper.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/swdeveloper.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swdeveloper.wordpress.com&amp;blog=2432973&amp;post=27&amp;subd=swdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://swdeveloper.wordpress.com/2009/01/03/wpf-xaml-multiple-style-inheritance-and-markup-extensions/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a997ef9b7696aa11e301141396862a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jeff</media:title>
		</media:content>
	</item>
	</channel>
</rss>
