<?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>&#60; web:Blog x:Name=&#34;Brian Lagunas&#34; &#47;&#62; &#187; Silverlight</title>
	<atom:link href="http://www.brianlagunas.com/index.php/category/silverlight/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brianlagunas.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Sep 2010 01:55:48 +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>Silverlight 4 Service Release 4.0.50826.0</title>
		<link>http://www.brianlagunas.com/index.php/2010/09/02/silverlight-4-service-release-4-0-50826-0/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/09/02/silverlight-4-service-release-4-0-50826-0/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 15:06:43 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight 4]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/09/02/silverlight-4-service-release-4-0-50826-0/</guid>
		<description><![CDATA[In case you haven’t heard yet, Microsoft released a new update for Silverlight 4 yesterday, along with a new SDK.&#160; You can check out the details at KB2164913.
The stuff I was interested in:

Add New Row for the DataGrid
Improved application startup performance
Mouse wheel support for out-of-browser&#160; applications on the Mac
Media bug fixes
MouseCapture memory leak is fixed
Inline [...]]]></description>
			<content:encoded><![CDATA[<p>In case you haven’t heard yet, Microsoft released a new update for Silverlight 4 yesterday, along with a new SDK.&#160; You can check out the details at <a href="http://support.microsoft.com/kb/2164913" target="_blank">KB2164913</a>.</p>
<p>The stuff I was interested in:</p>
<ul>
<li>Add New Row for the DataGrid</li>
<li>Improved application startup performance</li>
<li>Mouse wheel support for out-of-browser&#160; applications on the Mac</li>
<li>Media bug fixes</li>
<li>MouseCapture memory leak is fixed</li>
<li>Inline DataTemplate memory leak fixed.</li>
</ul>
<p>Developers go get the tools:</p>
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=188039" target="_blank">Windows developer runtime</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=188040" target="_blank">Mac developer runtime</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=188043" target="_blank">Silverlight 4.0.50826.0</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/09/02/silverlight-4-service-release-4-0-50826-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>geekSpeak: Local Messaging and Silverlight on Channel9</title>
		<link>http://www.brianlagunas.com/index.php/2010/07/17/geekspeak-local-messaging-and-silverlight-on-channel9/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/07/17/geekspeak-local-messaging-and-silverlight-on-channel9/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 00:34:00 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[geekspeak]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/07/17/geekspeak-local-messaging-and-silverlight-on-channel9/</guid>
		<description><![CDATA[For those of you who did not get to see the “Local Messaging and Silverlight” geekSpeak webcast live, it has been posted on Channel9 for your viewing pleasure.
http://channel9.msdn.com/shows/geekSpeak/geekSpeak-Recording-Local-Messaging-and-Silverlight-with-Brian-Lagunas/
And yes, I did give Elegant Code some love on the show.
]]></description>
			<content:encoded><![CDATA[<p>For those of you who did not get to see the “Local Messaging and Silverlight” geekSpeak webcast live, it has been posted on Channel9 for your viewing pleasure.</p>
<p><a title="http://channel9.msdn.com/shows/geekSpeak/geekSpeak-Recording-Local-Messaging-and-Silverlight-with-Brian-Lagunas/" href="http://channel9.msdn.com/shows/geekSpeak/geekSpeak-Recording-Local-Messaging-and-Silverlight-with-Brian-Lagunas/">http://channel9.msdn.com/shows/geekSpeak/geekSpeak-Recording-Local-Messaging-and-Silverlight-with-Brian-Lagunas/</a></p>
<p>And yes, I did give Elegant Code some love on the show.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/07/17/geekspeak-local-messaging-and-silverlight-on-channel9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NETDUG: Silverlight Bing Maps Sample Code</title>
		<link>http://www.brianlagunas.com/index.php/2010/07/17/netdug-silverlight-bing-maps-sample-code/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/07/17/netdug-silverlight-bing-maps-sample-code/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 00:23:35 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[NETDUG]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[bing maps]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/07/17/netdug-silverlight-bing-maps-sample-code/</guid>
		<description><![CDATA[Thanks to everyone who attended last weeks NETDUG presentations. For those of you who would like to get started right away with Bing Maps in your Silverlight applications, you can start here:

Get the Bing Maps Silverlight Control
Get a Bing Maps API Key
Play with the Bing Maps interactive SDK Application
Read the Bing Maps blog
Check out the [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to everyone who attended last weeks NETDUG presentations. For those of you who would like to get started right away with Bing Maps in your Silverlight applications, you can start here:</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=beb29d27-6f0c-494f-b028-1e0e3187e830" target="_blank">Get the Bing Maps Silverlight Control</a></li>
<li><a href="https://www.bingmapsportal.com/" target="_blank">Get a Bing Maps API Key</a></li>
<li><a href="http://www.microsoft.com/maps/isdk/silverlight/default.htm" target="_blank">Play with the Bing Maps interactive SDK Application</a></li>
<li><a href="http://www.bing.com/community/blogs/maps/" target="_blank">Read the Bing Maps blog</a></li>
<li><a href="http://social.msdn.microsoft.com/Forums/en-US/vemapcontroldev/threads" target="_blank">Check out the Bing Maps forum</a></li>
</ul>
<p>You can also get the source code to my presentation here:&#160; <a href="http://brianlagunas.com/downloads/presentations/BingMapsSilverlightSamples.zip">Download the source</a>.</p>
<p><em><strong>Note</strong>: You will need to download the Bing Maps Silverlight control and re-reference the DLLs before the source will compile.&#160; Also, you have to have a Bing Maps API key in order to use any of the geocoding service examples.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/07/17/netdug-silverlight-bing-maps-sample-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GeekSpeak 7-14-2010: Local Messaging and Silverlight</title>
		<link>http://www.brianlagunas.com/index.php/2010/07/13/geekspeak-7-14-2010-local-messaging-and-silverlight/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/07/13/geekspeak-7-14-2010-local-messaging-and-silverlight/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 16:44:54 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[geekspeak]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/07/13/geekspeak-7-14-2010-local-messaging-and-silverlight/</guid>
		<description><![CDATA[If you haven’t noticed lately, I have been pretty quite on the blogs recently.&#160; That is mainly due to my new born baby, and a new job.&#160; Well, I have set aside some time to do a GeekSpeak webcast with Glen Gorden and Mithun Dhar.
Here is the episode description:
“A powerful feature of Microsoft Silverlight is [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven’t noticed lately, I have been pretty quite on the blogs recently.&#160; That is mainly due to my new born baby, and a new job.&#160; Well, I have set aside some time to do a GeekSpeak webcast with <a href="http://blogs.msdn.com/b/glengordon/" target="_blank">Glen Gorden</a> and <a href="http://blogs.msdn.com/b/mithund/" target="_blank">Mithun Dhar</a>.</p>
<p>Here is the episode description:</p>
<p>“A powerful feature of Microsoft Silverlight is the ability for different Silverlight controls to communicate, even with instances running out of browser. In this geekSpeak, Silverlight guru Brian Lagunas shows us the ins and outs of how to communicate between Silverlight applications by using local messaging. We'll cover everything from multiple banner ads synchronizing animations to business applications displaying master/detail data. Brian goes over how to create complex layouts that combine multiple Silverlight-based applications with content that is based on other technologies. Join us for this unique take on Silverlight programming.”</p>
<p>When: Wednesday, July 14, 2010, 3:00-4:00 ET</p>
<p>If you are interested or have some questions register at <a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032455709&amp;EventCategory=4&amp;culture=en-US&amp;CountryCode=US">https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032455709&amp;EventCategory=4&amp;culture=en-US&amp;CountryCode=US</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/07/13/geekspeak-7-14-2010-local-messaging-and-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expression Studio 4 Launched</title>
		<link>http://www.brianlagunas.com/index.php/2010/06/07/expression-studio-4-launched/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/06/07/expression-studio-4-launched/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 16:23:56 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Expression Studio 4]]></category>
		<category><![CDATA[Silverlight 4]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/06/07/expression-studio-4-launched/</guid>
		<description><![CDATA[Okay, it is official; Expression Studio 4 has been released and is available for download now.
Owners of v3 pay special attention to what I am about to tell you.&#160; You can get v4 for FREE.&#160; Yes, I said FREE.&#160; Just install the v4 trial on top of your licensed v3 and upgrade it.&#160; For more [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, it is official; Expression Studio 4 has been released and is available for <a href="http://www.microsoft.com/expression/" target="_blank">download</a> now.</p>
<p>Owners of v3 pay special attention to what I am about to tell you.&#160; You can get v4 for FREE.&#160; Yes, I said FREE.&#160; Just install the v4 trial on top of your licensed v3 and upgrade it.&#160; <a href="http://expression.microsoft.com/en-us/ee906701.aspx" target="_blank">For more information read this article</a>.</p>
<p>So what’s new with Expression Studio 4?&#160; Rather than writing everything down for you, it is just as easy to provide the links that can give a much better explanation.</p>
<ul>
<li><a href="http://www.microsoft.com/expression/products/Blend_Features.aspx" target="_blank">Expression Blend 4</a> (note worthy MVVM support) </li>
<li><a href="http://www.microsoft.com/expression/products/Web_Features.aspx" target="_blank">Expression Web 4</a> </li>
<li><a href="http://www.microsoft.com/expression/products/EncoderPro_Features.aspx" target="_blank">Expression Encoder 4</a> </li>
<li><a href="http://www.microsoft.com/expression/products/Design_Features.aspx" target="_blank">Expression Design 4</a> </li>
</ul>
<p><strong>Important!</strong>&#160; If you are developing in Silverlight for Windows Phone 7, do not install this released version of Blend in Expression Studio 4.&#160; You must continue to use Blend 4 Beta and Add-in Preview for Windows Phone.&#160; A service pack will be released when the Windows Phone SDK releases.&#160; <a href="http://www.microsoft.com/expression/windowsphone/" target="_blank">Read more about this here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/06/07/expression-studio-4-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 4 Minor update</title>
		<link>http://www.brianlagunas.com/index.php/2010/06/03/silverlight-4-minor-update/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/06/03/silverlight-4-minor-update/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 00:41:46 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight 4]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/06/03/silverlight-4-minor-update/</guid>
		<description><![CDATA[Today a minor update to Silverlight 4 was released.&#160; This update won’t effect all users, but if you are a media developer you will want to get this update.&#160; For the specifics read KB982926.
Developers can update their runtime by downloading and installing the updated Silverlight developer runtime for Windows or Mac.&#160; Any new Silverlight 4 [...]]]></description>
			<content:encoded><![CDATA[<p>Today a minor update to Silverlight 4 was released.&#160; This update won’t effect all users, but if you are a media developer you will want to get this update.&#160; For the specifics read <a href="http://support.microsoft.com/kb/982926" target="_blank">KB982926</a>.</p>
<p>Developers can update their runtime by downloading and installing the updated Silverlight developer runtime for <a href="http://go.microsoft.com/fwlink/?LinkID=188039">Windows</a> or <a href="http://go.microsoft.com/fwlink/?LinkID=188040">Mac</a>.&#160; Any new Silverlight 4 applications will target this updated version.&#160; For existing applications, if your users must have the newest version, update your &lt;object&gt; tag by setting the minRuntimeVersion to 4.0.50524.0.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/06/03/silverlight-4-minor-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Silverlight 4 Application Themes Released</title>
		<link>http://www.brianlagunas.com/index.php/2010/05/19/new-silverlight-4-application-themes-released/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/05/19/new-silverlight-4-application-themes-released/#comments</comments>
		<pubDate>Thu, 20 May 2010 02:02:45 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[silverlight application themes]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/05/19/new-silverlight-4-application-themes-released/</guid>
		<description><![CDATA[Back in march I gave you guys a sneak peak at some Silverlight application themes.&#160; Well now they are here and ready for your consumption.&#160; These include the Accent Color, Windows 7 and Cosmopolitan themes.&#160; The download contains Visual Studio 2010 template installers, Blend 4 compatible templates as well as the raw resource dictionary assets [...]]]></description>
			<content:encoded><![CDATA[<p>Back in march I gave you guys a <a href="http://www.brianlagunas.com/index.php/2010/03/12/silverlight-4-implicit-themes-and-a-sneak-peek/" target="_blank">sneak peak at some Silverlight application themes</a>.&#160; Well now they are here and ready for your consumption.&#160; These include the Accent Color, Windows 7 and Cosmopolitan themes.&#160; The download contains Visual Studio 2010 template installers, Blend 4 compatible templates as well as the raw resource dictionary assets and sample projects.&#160; </p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e9da0eb8-f31b-4490-85b8-92c2f807df9e&amp;displaylang=en" target="_blank">Go get’em boys and girls!</a></p>
<h5>Accent Color</h5>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/image1.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/image_thumb1.png" width="216" height="244" /></a> </p>
<h5>Windows 7</h5>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/image2.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/image_thumb2.png" width="244" height="171" /></a> </p>
<h5>Cosmopolitan</h5>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/image3.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/image_thumb3.png" width="244" height="157" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/05/19/new-silverlight-4-application-themes-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF Goodies in the Silverlight 4 Tools</title>
		<link>http://www.brianlagunas.com/index.php/2010/05/19/wpf-goodies-in-the-silverlight-4-tools/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/05/19/wpf-goodies-in-the-silverlight-4-tools/#comments</comments>
		<pubDate>Thu, 20 May 2010 01:27:22 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Silverlight 4]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/05/19/wpf-goodies-in-the-silverlight-4-tools/</guid>
		<description><![CDATA[If you haven’t heard already, the Silverlight Tools for VS2010 have been released, as mentioned by fellow ElegantCoder Bill Moore.&#160; In this release there have been some great improvements to the Visual Studio designer that work for both Silverlight and WPF.&#160; Lets check them out.
Go To Value Definition
Have you ever had a control that had [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven’t heard already, the Silverlight Tools for VS2010 have been released, as <a href="http://elegantcode.com/2010/05/17/silverlight-4-tool-rtw-and-wcf-ria-services-v1-0-ships-today/" target="_blank">mentioned</a> by fellow ElegantCoder Bill Moore.&#160; In this release there have been some great improvements to the Visual Studio designer that work for both Silverlight and WPF.&#160; Lets check them out.</p>
<h5>Go To Value Definition</h5>
<p>Have you ever had a control that had a style assigned to it, but had no idea where to find that style?&#160; It could be nested down in some obscure folder path in a ResourceDictionary somewhere.&#160; You would have to do the good-old “ctrl + F” and do a search for it.&#160; Well, no longer.&#160; You can now go to the style value definition just by using the property inspector.</p>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/go_to_value_definition.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="go_to_value_definition" border="0" alt="go_to_value_definition" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/go_to_value_definition_thumb.jpg" width="244" height="115" /></a> </p>
<p>And when you click that magic button, it takes you straight to its definition.</p>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/go_to_value_definition_results.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="go_to_value_definition_results" border="0" alt="go_to_value_definition_results" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/go_to_value_definition_results_thumb.jpg" width="244" height="71" /></a> </p>
<h5>Style Intellisense</h5>
<p>A big pain for writing styles is that you have to hope you are setting the correct properties, and not fat-fingering them (misspelling).&#160; Well, never fear, Style intellisense is here.&#160; Never guess which property to use in the setter again.</p>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/style_intellisense.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="style_intellisense" border="0" alt="style_intellisense" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/style_intellisense_thumb.png" width="244" height="166" /></a> </p>
<h5>Grid manipulation with a simple right-click</h5>
<p>The source of my biggest headaches comes from the Grid.&#160; Yes the Grid.&#160; Because it can be a real pain to change once you have it created.&#160; Lets say that I have laid out my nice beautiful form, and all of a sudden realize I put a row in the wrong order.&#160; Well, I have to go into my XAML and update all my Grid attached properties for all the controls affected.</p>
<p>Not anymore!&#160; With a simple right-click I can now move, insert, and delete rows and columns from my grid.&#160; I just have to select any control in the row/column I want to manipulate, right-click it, then make my selection.&#160; In this case I chose to move an entire row down one level.</p>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/grid_row_move_before.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="grid_row_move_before" border="0" alt="grid_row_move_before" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/grid_row_move_before_thumb.jpg" width="244" height="150" /></a> </p>
<p>As you can see, not just the control I selected moves, but the entire row moves with it.</p>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/grid_row_move_after.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="grid_row_move_after" border="0" alt="grid_row_move_after" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/grid_row_move_after_thumb.jpg" width="244" height="52" /></a> </p>
</p>
</p>
<p>As you can see, the Silverlight Tools for VS2010 aren’t just for Silverlight developers.&#160; Even WPF peeps get a little love.&#160; </p>
<p>Check out this <a href="http://channel9.msdn.com/shows/SilverlightTV/Silverlight-4-Tools-for-Visual-Studio-2010-Launch-New-Designer-Capabilities-Silverlight-TV-27/" target="_blank">video</a> which shows theses features in action.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/05/19/wpf-goodies-in-the-silverlight-4-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communicating Between Silverlight Applications</title>
		<link>http://www.brianlagunas.com/index.php/2010/05/01/communicating-between-silverlight-applications/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/05/01/communicating-between-silverlight-applications/#comments</comments>
		<pubDate>Sat, 01 May 2010 08:18:52 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight 4]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/05/01/communicating-between-silverlight-applications/</guid>
		<description><![CDATA[Silverlight is a great platform for creating rich internet applications, but a full blown Silverlight app is not a solution to every web application.&#160; Lets face it, the vast majority of web applications will always be some type of server based solution, such as ASP.NET, PHP, JSP, etc...&#160; Everyday I see more and more creative [...]]]></description>
			<content:encoded><![CDATA[<p>Silverlight is a great platform for creating rich internet applications, but a full blown Silverlight app is not a solution to every web application.&#160; Lets face it, the vast majority of web applications will always be some type of server based solution, such as ASP.NET, PHP, JSP, etc...&#160; Everyday I see more and more creative uses of Silverlight inside web applications.&#160; Developers are starting to use Silverlight more like Flash by creating responsive site navigation, web intros and splash pages,&#160; animated ad rotators, and more.&#160; They do this by using small Silverlight applications in parts of their web pages, instead of using Silverlight as the main application itself.&#160; Some use more than one Silverlight app in a single page.&#160; But what happens when you need these separate Silverlight applications to start communicating with each other?&#160; For example, I may need a Silverlight-based banner ad with an animated effect that crosses over to a sidebar ad.&#160; How would I coordinate the transition?&#160; Easy, local messaging.</p>
<p>Local messaging enables you to create communication channels between multiple Silverlight plug-ins running on a single computer. You typically host the plug-ins in a single Web page and use local messaging to coordinate their behavior. This enables you to create complex layouts that combine multiple Silverlight-based applications with content based on other technologies.&#160; You can also use local messaging to establish communication between a Silverlight-based application in a Web page and another one running outside the browser.&#160; Heck, you can even go cross domains.</p>
<h2>The Basics</h2>
<p>Establishing a connection between Silverlight applications is as simple as creating a <a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagesender(v=VS.95).aspx" target="_blank">LocalMessageSender</a> object in one application and a <a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagereceiver(v=VS.95).aspx" target="_blank">LocalMessageReceiver</a> in another application.</p>
<h5>The Receiver</h5>
<p>When you create the receiver, you must give it a name that is unique globally or across the host domain.&#160; Once you have created the receiver, you must handle the MessageReceived event.&#160; This event is fired when a message is successfully received from a sender.&#160; The sent message is available in the Message property.&#160; The next required step is to call the Listen method on the receiver.&#160; The receiver will continue receiving messages until you call its Dispose method.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:f124c09f-863f-4eb5-a6ca-dfb0721806af" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li><span style="color:#2b91af">LocalMessageReceiver</span> messageReceiver = <span style="color:#0000ff">new</span> <span style="color:#2b91af">LocalMessageReceiver</span>(<span style="color:#2b91af">Constants</span>.ReceiverName);</li>
<li style="background: #f3f3f3">messageReceiver.MessageReceived += (<span style="color:#0000ff">object</span> sender, <span style="color:#2b91af">MessageReceivedEventArgs</span> e) =&gt;</li>
<li>{</li>
<li style="background: #f3f3f3">    <span style="color:#008000">//do something with e.Message</span></li>
<li>};</li>
<li style="background: #f3f3f3">messageReceiver.Listen();</li>
</ol></div>
</p></div>
</p></div>
</p>
<p>After a message is received you can send a response back to the sender by setting the Response property in the MessageReceived event handler.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:014211d3-dd43-49a6-b73a-da6231653acb" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li>messageReceiver.MessageReceived += (<span style="color:#0000ff">object</span> sender, <span style="color:#2b91af">MessageReceivedEventArgs</span> e) =&gt;</li>
<li style="background: #f3f3f3">{</li>
<li>    e.Response = <span style="color:#a31515">&quot;Message Received: &quot;</span> + e.Message;</li>
<li style="background: #f3f3f3">};</li>
</ol></div>
</p></div>
</p></div>
</p>
<h5>The Sender</h5>
<p>When you create the sender you must specify the receiver that will be listening for the messages.&#160; To send a message, the sending application calls the SendAsync method, passing in a String message with a maximum size of 40 kilobytes.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:3110669b-f738-441f-9e32-b1f288562c18" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li><span style="color:#2b91af">LocalMessageSender</span> sender = <span style="color:#0000ff">new</span> <span style="color:#2b91af">LocalMessageSender</span>(<span style="color:#2b91af">Constants</span>.ReceiverName);</li>
<li style="background: #f3f3f3">sender.SendAsync(message);</li>
</ol></div>
</p></div>
</p></div>
</p>
<p>Any response from the receiver can be handled in the SendCompleted event.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7590c0c5-2840-4c37-b4cb-48ec9501b876" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li>sender.SendCompleted += (o, e) =&gt;</li>
<li style="background: #f3f3f3">{</li>
<li>    <span style="color:#0000ff">string</span> response = e.Response;</li>
<li style="background: #f3f3f3">};</li>
</ol></div>
</p></div>
</p></div>
</p>
<h2>The Sample Application</h2>
<p>I have created a sample application to demonstrate a basic example of communicating between two Silverlight applications.&#160; In my example, I decided to send an object as a message instead of a simple string, because lets be real, most of the time we need to send a complex message.&#160; The first application has a list of objects.&#160; As I select an object in the list, I will send that object to the second application which will display the objects details.&#160; Once the receiving application has received the object, it will send a response back to the sending application, and the sending application will display the response.</p>
<p>I won’t bore you with all the code in my sample application.&#160; You will get to download it anyways.&#160; I just want to point out the important stuff.</p>
<h6>The Sender</h6>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:ecfc0587-d754-4237-b0b7-0f86b6c7a33f" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li><span style="color:#0000ff">private</span> <span style="color:#0000ff">void</span> SendMessage(<span style="color:#2b91af">Entity</span> entity)</li>
<li style="background: #f3f3f3">{</li>
<li>    <span style="color:#008000">//serialize my object to a string</span></li>
<li style="background: #f3f3f3">    <span style="color:#0000ff">string</span> json = <span style="color:#2b91af">JsonUtilities</span>.SerializeObjectToJson(entity);</li>
<li>&nbsp;</li>
<li style="background: #f3f3f3">    <span style="color:#2b91af">LocalMessageSender</span> sender = <span style="color:#0000ff">new</span> <span style="color:#2b91af">LocalMessageSender</span>(<span style="color:#2b91af">Constants</span>.ReceiverName);</li>
<li>    sender.SendCompleted += (o, e) =&gt;</li>
<li style="background: #f3f3f3">    {</li>
<li>        Response.Text = <span style="color:#0000ff">string</span>.Format(<span style="color:#a31515">&quot;{0}&quot;</span>, e.Response);</li>
<li style="background: #f3f3f3">    };</li>
<li>    sender.SendAsync(json);</li>
<li style="background: #f3f3f3">}</li>
</ol></div>
</p></div>
</p></div>
</p>
<p>Each time a selection is made in the ListBox, this method is called and the selected object is passed to it.&#160; I am also creating a handler or the SendCompleted event to display any responses sent back from the receiver.&#160; </p>
<p>When sending complex messages, such as an object graph, you need to consider the size of your message.&#160; Remember that 40 kb limit mentioned earlier?&#160; Well, you better.&#160; In order to send our complex message we need to serialize the object into something the other application to understand.&#160; The easiest ways are XML and JSON, and since XML is heavy, I prefer JSON.&#160; So I created a nice little helper method that converts my object graph into a JSON string.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:d7f33a26-1c16-43f8-a555-a4590b535da2" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li><span style="color:#0000ff">public</span> <span style="color:#0000ff">static</span> <span style="color:#0000ff">string</span> SerializeObjectToJson(<span style="color:#0000ff">object</span> objectToSerialize)</li>
<li style="background: #f3f3f3">{</li>
<li>    <span style="color:#0000ff">using</span> (<span style="color:#2b91af">MemoryStream</span> ms = <span style="color:#0000ff">new</span> <span style="color:#2b91af">MemoryStream</span>())</li>
<li style="background: #f3f3f3">    {</li>
<li>        <span style="color:#2b91af">DataContractJsonSerializer</span> serializer = <span style="color:#0000ff">new</span> <span style="color:#2b91af">DataContractJsonSerializer</span>(objectToSerialize.GetType());</li>
<li style="background: #f3f3f3">        serializer.WriteObject(ms, objectToSerialize);</li>
<li>        ms.Position = 0;</li>
<li style="background: #f3f3f3">&nbsp;</li>
<li>        <span style="color:#0000ff">using</span> (<span style="color:#2b91af">StreamReader</span> reader = <span style="color:#0000ff">new</span> <span style="color:#2b91af">StreamReader</span>(ms))</li>
<li style="background: #f3f3f3">        {</li>
<li>            <span style="color:#0000ff">return</span> reader.ReadToEnd();</li>
<li style="background: #f3f3f3">        }</li>
<li>    }</li>
<li style="background: #f3f3f3">}</li>
</ol></div>
</p></div>
</p></div>
</p>
<h6>The Receiver</h6>
<p>The receiver is extremely simple.&#160; It has a view that shows the details of my object.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:db971135-dc2b-4829-836c-91ab5ae52d1c" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li><span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">Grid</span><span style="color:#ff0000"> Grid.Row</span><span style="color:#0000ff">=&quot;1&quot;&gt;</span></li>
<li style="background: #f3f3f3">    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">Grid.RowDefinitions</span><span style="color:#0000ff">&gt;</span></li>
<li>        <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">RowDefinition</span><span style="color:#ff0000"> Height</span><span style="color:#0000ff">=&quot;Auto&quot; /&gt;</span></li>
<li style="background: #f3f3f3">        <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">RowDefinition</span><span style="color:#ff0000"> Height</span><span style="color:#0000ff">=&quot;Auto&quot;/&gt;</span></li>
<li>        <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">RowDefinition</span><span style="color:#ff0000"> Height</span><span style="color:#0000ff">=&quot;Auto&quot;/&gt;</span></li>
<li style="background: #f3f3f3">    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;/</span><span style="color:#a31515">Grid.RowDefinitions</span><span style="color:#0000ff">&gt;</span></li>
<li>    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">Grid.ColumnDefinitions</span><span style="color:#0000ff">&gt;</span></li>
<li style="background: #f3f3f3">        <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">ColumnDefinition</span><span style="color:#ff0000"> Width</span><span style="color:#0000ff">=&quot;Auto&quot;/&gt;</span></li>
<li>        <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">ColumnDefinition</span><span style="color:#ff0000"> Width</span><span style="color:#0000ff">=&quot;*&quot;/&gt;</span></li>
<li style="background: #f3f3f3">    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;/</span><span style="color:#a31515">Grid.ColumnDefinitions</span><span style="color:#0000ff">&gt;</span></li>
<li>    <span style="color:#a31515"></span></li>
<li style="background: #f3f3f3">    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">TextBlock</span><span style="color:#ff0000"> Text</span><span style="color:#0000ff">=&quot;Customer Name: &quot;</span><span style="color:#ff0000"> Margin</span><span style="color:#0000ff">=&quot;4&quot; /&gt;</span></li>
<li>    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">TextBlock</span><span style="color:#ff0000"> Grid.Column</span><span style="color:#0000ff">=&quot;1&quot;</span><span style="color:#ff0000"> Text</span><span style="color:#0000ff">=&quot;{</span><span style="color:#a31515">Binding</span><span style="color:#ff0000"> CustomerName}</span><span style="color:#0000ff">&quot;</span><span style="color:#ff0000"> Margin</span><span style="color:#0000ff">=&quot;4&quot; /&gt;</span></li>
<li style="background: #f3f3f3">&nbsp;</li>
<li>    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">TextBlock</span><span style="color:#ff0000"> Grid.Row</span><span style="color:#0000ff">=&quot;1&quot;</span><span style="color:#ff0000"> Text</span><span style="color:#0000ff">=&quot;Phone Number: &quot;</span><span style="color:#ff0000"> Margin</span><span style="color:#0000ff">=&quot;4&quot; /&gt;</span></li>
<li style="background: #f3f3f3">    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">TextBlock</span><span style="color:#ff0000"> Grid.Row</span><span style="color:#0000ff">=&quot;1&quot;</span><span style="color:#ff0000"> Grid.Column</span><span style="color:#0000ff">=&quot;1&quot;</span><span style="color:#ff0000"> Text</span><span style="color:#0000ff">=&quot;{</span><span style="color:#a31515">Binding</span><span style="color:#ff0000"> PhoneNumber}</span><span style="color:#0000ff">&quot;</span><span style="color:#ff0000"> Margin</span><span style="color:#0000ff">=&quot;4&quot; /&gt;</span></li>
<li>&nbsp;</li>
<li style="background: #f3f3f3">    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">TextBlock</span><span style="color:#ff0000"> Grid.Row</span><span style="color:#0000ff">=&quot;2&quot;</span><span style="color:#ff0000"> Text</span><span style="color:#0000ff">=&quot;Unit Sales: &quot;</span><span style="color:#ff0000"> Margin</span><span style="color:#0000ff">=&quot;4&quot; /&gt;</span></li>
<li>    <span style="color:#a31515"></span><span style="color:#0000ff">&lt;</span><span style="color:#a31515">TextBlock</span><span style="color:#ff0000"> Grid.Row</span><span style="color:#0000ff">=&quot;2&quot;</span><span style="color:#ff0000"> Grid.Column</span><span style="color:#0000ff">=&quot;1&quot;</span><span style="color:#ff0000"> Text</span><span style="color:#0000ff">=&quot;{</span><span style="color:#a31515">Binding</span><span style="color:#ff0000"> UnitSales}</span><span style="color:#0000ff">&quot;</span><span style="color:#ff0000"> Margin</span><span style="color:#0000ff">=&quot;4&quot; /&gt;</span></li>
<li style="background: #f3f3f3"><span style="color:#a31515"></span><span style="color:#0000ff">&lt;/</span><span style="color:#a31515">Grid</span><span style="color:#0000ff">&gt;</span></li>
</ol></div>
</p></div>
</p></div>
</p>
<p>It has a LocalMessageReciever that listens for any messages sent from my sender application.&#160; It takes the JSON message, deserializes it back into an object.&#160; Set the DataContext of the form, and sends the response back to the sender application.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:8a349024-c9f9-40b5-9beb-76efde8a1f63" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li><span style="color:#0000ff">public</span> MainPage()</li>
<li style="background: #f3f3f3">{</li>
<li>    InitializeComponent();</li>
<li style="background: #f3f3f3">&nbsp;</li>
<li>    <span style="color:#2b91af">LocalMessageReceiver</span> messageReceiver = <span style="color:#0000ff">new</span> <span style="color:#2b91af">LocalMessageReceiver</span>(<span style="color:#2b91af">Constants</span>.ReceiverName);</li>
<li style="background: #f3f3f3">    messageReceiver.MessageReceived += (<span style="color:#0000ff">object</span> sender, <span style="color:#2b91af">MessageReceivedEventArgs</span> e) =&gt;</li>
<li>    {</li>
<li style="background: #f3f3f3">        <span style="color:#008000">//deserialize my json object</span></li>
<li>        <span style="color:#0000ff">var</span> entity = <span style="color:#2b91af">JsonUtilities</span>.DeserializeObjectToJson&lt;<span style="color:#2b91af">Entity</span>&gt;(e.Message);</li>
<li style="background: #f3f3f3">        <span style="color:#0000ff">this</span>.DataContext = entity;</li>
<li>        e.Response = <span style="color:#0000ff">string</span>.Format(<span style="color:#a31515">&quot;{0} Recieved&quot;</span>, entity.CustomerName);</li>
<li style="background: #f3f3f3">    };</li>
<li>    messageReceiver.Listen();</li>
<li style="background: #f3f3f3">}</li>
</ol></div>
</p></div>
</p></div>
</p>
<p>Here is my JSON deserialization method:</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:a47cc0fc-56d5-499b-bd07-1da86640d691" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #fff; max-height: 300px; overflow: auto">
<ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
<li><span style="color:#0000ff">public</span> <span style="color:#0000ff">static</span> T DeserializeObjectToJson&lt;T&gt;(<span style="color:#0000ff">string</span> jsonString)</li>
<li style="background: #f3f3f3">{</li>
<li>    <span style="color:#0000ff">using</span> (<span style="color:#2b91af">MemoryStream</span> ms = <span style="color:#0000ff">new</span> <span style="color:#2b91af">MemoryStream</span>(<span style="color:#2b91af">Encoding</span>.Unicode.GetBytes(jsonString)))</li>
<li style="background: #f3f3f3">    {</li>
<li>        <span style="color:#2b91af">DataContractJsonSerializer</span> serializer = <span style="color:#0000ff">new</span> <span style="color:#2b91af">DataContractJsonSerializer</span>(<span style="color:#0000ff">typeof</span>(T));</li>
<li style="background: #f3f3f3">        <span style="color:#0000ff">return</span> (T)serializer.ReadObject(ms);</li>
<li>    }</li>
<li style="background: #f3f3f3">}</li>
</ol></div>
</p></div>
</p></div>
</p>
<h6>The Final Product</h6>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/05/image.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.brianlagunas.com/wp-content/uploads/2010/05/image_thumb.png" width="174" height="244" /></a> </p>
<p>That is all there is to it.&#160; As you can see, communicating between multiple Silverlight applications is pretty simple, and you can get pretty crazy with it, especially when you have an IE hosted application communicating with a Out-Of-Browser Silverlight app.&#160; Cool stuff!</p>
<p><a href="http://www.brianlagunas.com/downloads/source/SilverlightCommunication.zip">Download the Source</a> and start tinkering.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/05/01/communicating-between-silverlight-applications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visual Studio: Open in Full XAML View by Default</title>
		<link>http://www.brianlagunas.com/index.php/2010/04/01/visual-studio-open-in-full-xaml-view-by-default/</link>
		<comments>http://www.brianlagunas.com/index.php/2010/04/01/visual-studio-open-in-full-xaml-view-by-default/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 15:45:35 +0000</pubDate>
		<dc:creator>Brian Lagunas</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://www.brianlagunas.com/index.php/2010/04/01/visual-studio-open-in-full-xaml-view-by-default/</guid>
		<description><![CDATA[So I am using Visual Studio 2008 for developing WPF and Silverlight applications.&#160; The one thing that really annoys me is when I open a .XAML file and then Visual Studio automatically opens the file in split view mode.&#160; I am sure you are well aware of how VS 2008 support for the preview pane [...]]]></description>
			<content:encoded><![CDATA[<p>So I am using Visual Studio 2008 for developing WPF and Silverlight applications.&#160; The one thing that really annoys me is when I open a .XAML file and then Visual Studio automatically opens the file in split view mode.&#160; I am sure you are well aware of how VS 2008 support for the preview pane blows.&#160; So now I have to sit and wait for VS to render my view in the preview pane, and sometimes it can take a while, if it doesn’t just completely crash.&#160; Sometimes I take the extra time to go grab a snack and beverage of my choice.&#160; </p>
<p>So here is a hidden performance increasing jewel you might find useful.&#160; We can set the default open mode to be in full XAML view.</p>
<p>First thing you need to do is in Visual Studio go to your Tools ==&gt; Options ==&gt; Text Editor ==&gt; XAML ==&gt; Miscellaneous.&#160; There you will see an option for “Always open documents in full XAML view”.&#160; Check that box.</p>
<p><a href="http://www.brianlagunas.com/wp-content/uploads/2010/04/image.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="xaml options for opening in full xaml view" border="0" alt="xaml options for opening in full xaml view" src="http://www.brianlagunas.com/wp-content/uploads/2010/04/image_thumb.png" width="244" height="146" /></a> </p>
<p>Now every time you open a XAML file it will open in full XAML view and give you one less thing to gripe about.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianlagunas.com/index.php/2010/04/01/visual-studio-open-in-full-xaml-view-by-default/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
