<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Scott McCraw's Blog : AddIns</title><link>http://blogs.msdn.com/smccraw/archive/tags/AddIns/default.aspx</link><description>Tags: AddIns</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>More Calculator</title><link>http://blogs.msdn.com/smccraw/archive/2008/03/27/more-calculator.aspx</link><pubDate>Thu, 27 Mar 2008 22:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8340181</guid><dc:creator>smccraw</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/smccraw/comments/8340181.aspx</comments><wfw:commentRss>http://blogs.msdn.com/smccraw/commentrss.aspx?PostID=8340181</wfw:commentRss><description>&lt;P&gt;A few astute readers have already found a couple issues and sent in a few ideas.&amp;nbsp; I've updated the calculator sample, both the &lt;A href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalculator.html" target=_blank mce_href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalculator.html"&gt;live version&lt;/A&gt; and the &lt;A href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip" target=_blank mce_href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip"&gt;code download&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Included in the update:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A few bug fixes&lt;/LI&gt;
&lt;LI&gt;Larger toolbar buttons (some folks didn't notice them at first)&lt;/LI&gt;
&lt;LI&gt;I've added a Unit Test project and some unit tests.&lt;/LI&gt;
&lt;LI&gt;A new skin has been added (the style shamelessly stolen from &lt;A href="http://blogs.msdn.com/corrinab/archive/2008/03/24/a-new-control-skin-set.aspx" target=_blank mce_href="http://blogs.msdn.com/corrinab/archive/2008/03/24/a-new-control-skin-set.aspx"&gt;Corrina's blog&lt;/A&gt;, but she's on vacation so I don't feel too bad about it :)&lt;/LI&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/sketchy_4.png" mce_href="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/sketchy_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=366 alt=sketchy src="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/sketchy_thumb_1.png" width=262 border=0 mce_src="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/sketchy_thumb_1.png"&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Adding Unit Tests&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you're interested in knowing more about the Unit Test framework and getting&amp;nbsp;it up and running, see &lt;A href="http://www.jeff.wilcox.name/" target=_blank mce_href="http://www.jeff.wilcox.name/"&gt;Jeff Wilcox's blog&lt;/A&gt; on getting the bits and some VS templates.&lt;/P&gt;
&lt;P&gt;I implemented my calculator in several layers, separated by interface definitions as shown here:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/separation_2.png" mce_href="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/separation_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=196 alt=separation src="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/separation_thumb.png" width=364 border=0 mce_src="http://blogs.msdn.com/blogfiles/smccraw/WindowsLiveWriter/MoreCalculator_A89C/separation_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This allowed me to accomplish 2 things.&amp;nbsp; First, the skinning I wanted and second the ability to isolate the individual parts of my application for testing.&amp;nbsp; So if you look at the test project that I've added to the &lt;A href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip" target=_blank mce_href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip"&gt;code zip&lt;/A&gt;, you'll see that there are tests that isolate just the commands themselves, tests for just the numeric stack itself and tests that work on the engine in isolation (not I did not do full test coverage, just a smattering of samples).&amp;nbsp; Still working on figuring out how one would test the skin in isolation (we need a good UI automation package for Silverlight! :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8340181" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/smccraw/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/Model+View+Seperation/default.aspx">Model View Seperation</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/Skinning/default.aspx">Skinning</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/Control+Styling/default.aspx">Control Styling</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/AddIns/default.aspx">AddIns</category></item><item><title>A Silverlight Calculator</title><link>http://blogs.msdn.com/smccraw/archive/2008/03/26/A-Silverlight-Calculator.aspx</link><pubDate>Thu, 27 Mar 2008 03:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8338586</guid><dc:creator>smccraw</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/smccraw/comments/8338586.aspx</comments><wfw:commentRss>http://blogs.msdn.com/smccraw/commentrss.aspx?PostID=8338586</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;OK so I finally found some time to start playing around with SL2 B1 in earnest this last weekend.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The results? A Silverlight Calculator.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I don’t know why but a calculator has always been my HelloWorld, every new programming language or UI stack I learn always starts with a calculator.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Anyway you can try out the live version of it &lt;A class="" href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalculator.html" target=_blank mce_href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalculator.html"&gt;here&lt;/A&gt; and download the full source code &lt;A class="" href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip" target=_blank mce_href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip"&gt;here&lt;/A&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can find some good instructions on how to get up and running on Silverlight &lt;A class="" href="http://blogs.msdn.com/scmorris/archive/2008/03/12/getting-started-with-silverlight.aspx" target=_blank mce_href="http://blogs.msdn.com/scmorris/archive/2008/03/12/getting-started-with-silverlight.aspx"&gt;here&lt;/A&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;if needed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;FONT face=Calibri size=3&gt;A Basic Calculator&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG title="Default Calculator Skin" style="WIDTH: 300px; HEIGHT: 446px" height=446 alt="Default Calculator Skin" src="http://www.scott-mccraw.members.winisp.net/AgCalc/screenshots/DefaultBlack.png" width=300 mce_src="http://www.scott-mccraw.members.winisp.net/AgCalc/screenshots/DefaultBlack.png"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Calibri size=3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;A quick overview of the things I explored during this process.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;The wonderful world of styling controls in Silverlight.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Have a gander at BasicBlack.cs and generic.xaml to see how I set up the styling for my basic calculator skin.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;CalculatorAddIn/GlassSkin.xaml shows an example of a new skin over the basic template.&lt;BR style="mso-special-character: line-break"&gt;&lt;IMG title="Glass Style" style="WIDTH: 300px; HEIGHT: 453px" height=453 alt="Glass Style" src="http://www.scott-mccraw.members.winisp.net/AgCalc/screenshots/glass.png" width=300 mce_src="http://www.scott-mccraw.members.winisp.net/AgCalc/screenshots/glass.png"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Skinning is also supported, you can rip the entire UI off the calculator and replace it with your own as shown in CalculatorAddIn/SimpleConsole.xaml &amp;amp; .cs.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;To support this skinning approach I had to achieve a simple View/Model separation in the code through the use of interfaces (see ICalculatorEngine.cs, ICalculatorCommand.cs and INumericStack.cs).&lt;BR style="mso-special-character: line-break"&gt;&lt;IMG title="Simple Console Skin" style="WIDTH: 350px; HEIGHT: 337px" height=337 alt="Simple Console Skin" src="http://www.scott-mccraw.members.winisp.net/AgCalc/screenshots/simpleconsole.jpg" width=350 mce_src="http://www.scott-mccraw.members.winisp.net/AgCalc/screenshots/simpleconsole.jpg"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Support for custom AddIns.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I wanted to let folks write their own calculator functions in addition to creating their own skins.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Checkout App.xaml.cs and CalculatorFrame.xaml.cs for all the code behind loading assemblies on the fly using AssemblyPart.Load().&amp;nbsp; You can try this on your machine by downloading the &lt;A class="" href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip" target=_blank mce_href="http://www.scott-mccraw.members.winisp.net/AgCalc/AgCalc.zip"&gt;ZIP file&lt;/A&gt; for the code and selecting the CalculatorAddIn/ClientBin/CalculatorAddIn.dll when the Open Add In dialog opens.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;IsolatedStorage – interesting concept for remembering what AddIns have been loaded when you come back to the web page.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;IsolatedStorageFile.TryIncreaseQuotaTo() is an interesting API to say the least!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;Some known issues/ToDos:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Resetting the AddIns is a fairly jarring experience right now (since Assemblies cannot be unloaded, a full page refresh is done to cycle the AppDomain).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;At a minimum I need to have an &lt;I style="mso-bidi-font-style: normal"&gt;Are you sure?&lt;/I&gt; MessageBox (but SL has no such thing yet).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Ideally you should be able to turn off the add-ins one at a time and the calculator would just quit using the extension even though they still exist in the domain.&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;No versioning support for the AddIns.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you want to get a new version of your AddIn loaded you currently have to unload all the AddIns, reset the AppDomain and then reload your addins.&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Application Errors are either ignored or unhandled right now.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I have to figure out a good model for dealing with these things.&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Currently only text is supported in the Command Buttons, I need to explore the wonderful world of loading/parsing XAML at runtime and allow commands to have more sophisticated button views.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Styling is currently putting a serious crimp in these efforts, but we’ll see where it goes.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;Anything else?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Comments?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Ideas on additional areas/techniques to explore here?&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8338586" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/smccraw/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/Model+View+Seperation/default.aspx">Model View Seperation</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/Skinning/default.aspx">Skinning</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/IsolatedStorage/default.aspx">IsolatedStorage</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/Control+Styling/default.aspx">Control Styling</category><category domain="http://blogs.msdn.com/smccraw/archive/tags/AddIns/default.aspx">AddIns</category></item></channel></rss>