<?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>Silverlight Buzz &#187; Silverlight 3 tutorials</title>
	<atom:link href="http://www.silverlightbuzz.com/category/silverlight-3-tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.silverlightbuzz.com</link>
	<description>Gavin Wignall Blogs about Silverlight tutorials and examples</description>
	<lastBuildDate>Mon, 12 Dec 2011 17:05:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Creating a 360 photograph of an object with Silverlight Photosynth</title>
		<link>http://www.silverlightbuzz.com/2010/02/24/creating-a-360-photograph-of-an-object-with-silverlight-photosynth/</link>
		<comments>http://www.silverlightbuzz.com/2010/02/24/creating-a-360-photograph-of-an-object-with-silverlight-photosynth/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 11:53:24 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Photosynth]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight Effects]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Deep Zoom]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Direction]]></category>
		<category><![CDATA[Drag]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Projection]]></category>
		<category><![CDATA[Rotation]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=844</guid>
		<description><![CDATA[Please upgrade your browser After playing with my first Photosynth: Create a 360 panorama using Microsoft Silverlight Photosynth, I wanted...]]></description>
			<content:encoded><![CDATA[<div class="iframe-wrapper">
  <iframe src="http://photosynth.net/embed.aspx?cid=cac7ac2a-0d89-47f0-99d8-0bccb082ff41&amp;delayLoad=true&amp;slideShowPlaying=false" frameborder="0" style="height:400px;width:560px;">Please upgrade your browser</iframe>
</div>
<p>After playing with my first Photosynth: <a title="360 panorama of my home office" href="http://www.silverlightbuzz.com/2010/02/23/create-a-360-panorama-using-microsoft-silverlight-photosynth/" target="_self">Create a 360 panorama using Microsoft Silverlight Photosynth</a>, I wanted to try out how the tool would work focusing on a single object. This meant taking photographs around an object instead of taking pictures around myself.</p>
<p>As you can see in the above Silverlight example, compared to my <a title="360 Panorama of my home office" href="http://www.silverlightbuzz.com/2010/02/23/create-a-360-panorama-using-microsoft-silverlight-photosynth/" target="_self">previous Photosynth</a> the feel of being in a 3d space is lost. However, the ability to zoom in and see the detail of each image is still pretty cool thanks to the <a title="Read more about Microsoft Deep Zoom" href="http://silverlight.net/learn/quickstarts/deepzoom/" target="_blank">Deep Zoom technology</a>. And the ability to look around an object is still pretty smart. The tool feels like it is built to navigate around an environment instead of an object so the navigation controls don&#8217;t work as well, but you can still play the sequence in the order that you took the photos so all is not lost.</p>
<p>Below is another test I carried out, this time I moved the object around for each photograph instead of the camera. This didn&#8217;t work too well, as the Photosynth tool referenced the carpet as the common element instead of the object.</p>
<div class="iframe-wrapper">
  <iframe src="http://photosynth.net/embed.aspx?cid=7bc3e4b8-19c8-481f-8530-b605aebb16c7&amp;delayLoad=true&amp;slideShowPlaying=false" frameborder="0" style="height:400px;width:560px;">Please upgrade your browser</iframe>
</div>
<p>Next I want to test out a journey of photographs, maybe walking down a street in London would be cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2010/02/24/creating-a-360-photograph-of-an-object-with-silverlight-photosynth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create a 360 panorama using Microsoft Silverlight Photosynth</title>
		<link>http://www.silverlightbuzz.com/2010/02/23/create-a-360-panorama-using-microsoft-silverlight-photosynth/</link>
		<comments>http://www.silverlightbuzz.com/2010/02/23/create-a-360-panorama-using-microsoft-silverlight-photosynth/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 11:50:37 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Photosynth]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight Effects]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Direction]]></category>
		<category><![CDATA[Drag]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Projection]]></category>
		<category><![CDATA[Rotation]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=835</guid>
		<description><![CDATA[Please upgrade your browser Navigate the above example by one of the following: Move the mouse around until a white...]]></description>
			<content:encoded><![CDATA[<div class="iframe-wrapper">
  <iframe src="http://photosynth.net/embed.aspx?cid=d232aeaf-8007-440a-a900-e77d02dce738&amp;delayLoad=true&amp;slideShowPlaying=false" frameborder="0" style="height:400px;width:560px;">Please upgrade your browser</iframe>
</div>
<p>Navigate the above example by one of the following:</p>
<ul>
<li>Move the mouse around until a white outline appears and click</li>
<li>Use the mouse wheel or the zoom buttons to zoom in and out</li>
<li>Click and drag to pan around the images</li>
<li>Use the short-cut images on the right to jump to featured positions</li>
<li>Use the directional tool at the bottom centre of the screen</li>
</ul>
<p>Here is my first attempt at using <a title="Microsoft Photosynth" href="http://photosynth.net/view.aspx?cid=d232aeaf-8007-440a-a900-e77d02dce738&amp;lc=1033" target="_blank">Microsoft Photosynth</a>. I have seen a few examples of Photosynth before but never got round to trying it out for myself.</p>
<p>Photosynth is a tool that uses <a title="Microsoft Silverlight" href="http://www.microsoft.com/silverlight/" target="_blank">Microsoft Silverlight</a> to piece together photographs to map them in 3d space. The tool is really easy to use, once you have your photographs you upload them and the tool does the rest for you. Once your images are mapped out by the tool, you are given a Silverlight interface to add some further information if you choose. You can add tags to individual images, add a geolocation and a description.</p>
<p>This example involved me standing in one position and taking a series of photos by turning around to form a 360 mapping. The Photosynth tool managed to map 86% of the 31 photos I uploaded which works quite well. The tool picks up on key pixel configurations and matches them across the series of images to form the full 3d map.</p>
<p>As you can see my first example does not fully match up all the way around so in hindsight maybe I should have taken a few more extra pictures so the tool could complete the full 360 journey.</p>
<p>My next task will be to take a series of images around an object instead of from a single point.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2010/02/23/create-a-360-panorama-using-microsoft-silverlight-photosynth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Silverlight Brush Effect &#8211; Paint Splatter</title>
		<link>http://www.silverlightbuzz.com/2010/02/09/silverlight-brush-effect-paint-splatter/</link>
		<comments>http://www.silverlightbuzz.com/2010/02/09/silverlight-brush-effect-paint-splatter/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 13:52:50 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight C# Tutorials]]></category>
		<category><![CDATA[Silverlight Effects]]></category>
		<category><![CDATA[Brush Effect]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Colour palette]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Drag]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Mouse position]]></category>
		<category><![CDATA[Paint]]></category>
		<category><![CDATA[Paint Splatter]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[User Input]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=814</guid>
		<description><![CDATA[Please upgrade your browser Using the Line element and some Random math I have created a paint splatter brush effect. Use...]]></description>
			<content:encoded><![CDATA[<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/PaintSplatter/paintSplats.html" frameborder="0" style="height:560px;width:560px;">Please upgrade your browser</iframe>
</div>
<p>Using the <strong><span style="color: #000000;">Line </span></strong>element and some <strong><span style="color: #000000;">Random </span></strong>math I have created a paint splatter brush effect. Use the color palette at the top of the example to change color and then draw using the mouse.</p>
<p>To create this effect, I plot lines one after the other using the Line element. Starting from the mouse co-ordinates and then using Random math to plot each further point. The length and size of each splatter is also set each time using Random math.</p>
<h2>To create a line using the Line component:</h2>
<p>To create a new line we perform the following</p>
<p><span style="color: #888888;"><em>Create a new Line and call it Line1&#8230;</em></span></p>
<p><span style="color: #000000;">Line Line1 = new Line();</span></p>
<p><span style="color: #888888;"><em>Set the start co-ordinates of the line&#8230;</em></span></p>
<p><span style="color: #000000;">Line1.X1 = 0;</span></p>
<p><span style="color: #000000;">Line1.Y1 = 0;</span></p>
<p><span style="color: #888888;"><em>Set the end co-ordinates of the line&#8230;</em></span></p>
<p><span style="color: #000000;">Line1.X2 = 10;</span></p>
<p><span style="color: #000000;">Line1.Y2 = 10;</span></p>
<p><span style="color: #888888;"><em>Add the line to the page&#8230;</em></span></p>
<p><span style="color: #000000;">LayoutRoot.Children.Add(Line1);</span></p>
<p><span style="color: #808080;">You can see another post I made on <a title="Building a Paint Application" href="http://www.silverlightbuzz.com/2009/03/15/building-a-paint-application-in-silverlight-using-the-line-element/" target="_self">building a Paint Application here</a>.</span></p>
<h2>To get a Random number we use the following code in C#:</h2>
<p><em><span style="color: #888888;">First define the variable&#8230;</span></em></p>
<p><span style="color: #000000;">private Random NextDouble = new Random();</span></p>
<p><em><span style="color: #888888;">Then each time you want a new Random number perform the following&#8230;</span></em></p>
<p><span style="color: #000000;">NextDouble.NextDouble();</span></p>
<p>This value will be of a double figure between 0 and 1. To get a specific range of random numbers we need to multiply this value.</p>
<p><em><span style="color: #888888;">To get a Random number between 0 and 100&#8230;</span></em></p>
<p><span style="color: #000000;">NextDouble.NextDouble() * 100;</span></p>
<p><em><span style="color: #888888;">To get a Random number between 50 and 100&#8230;</span></em></p>
<p><span style="color: #000000;">(NextDouble.NextDouble() * 50) + 50;</span></p>
<h2>Grab the Source</h2>
<p>As always, you can grab the <a title="Download the source files for this post" href="http://www.silverlightbuzz.com/examples/paintSplatter.zip" target="_self">source files to this post here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2010/02/09/silverlight-brush-effect-paint-splatter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mixing it up! Using the InkPresenter with 3D Projection</title>
		<link>http://www.silverlightbuzz.com/2010/02/04/mixing-it-up-using-the-inkpresenter-with-3d-projection/</link>
		<comments>http://www.silverlightbuzz.com/2010/02/04/mixing-it-up-using-the-inkpresenter-with-3d-projection/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 21:57:21 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Silverlight C# Tutorials]]></category>
		<category><![CDATA[Silverlight Effects]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Direction]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Mouse position]]></category>
		<category><![CDATA[Paint]]></category>
		<category><![CDATA[Projection]]></category>
		<category><![CDATA[Rotation]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[User Input]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=805</guid>
		<description><![CDATA[Two great tools in Silverlight are the Projection properties and the InkPresenter, so what happens if you put the two...]]></description>
			<content:encoded><![CDATA[<p>Two great tools in Silverlight are the Projection properties and the InkPresenter, so what happens if you put the two together? Well, maybe something like below. Use the mouse to draw within the Silverlight area.</p>
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/drawingin3d/drawingIn3D.html" frameborder="0" style="height:350px;width:560px;">Please upgrade your browser</iframe>
</div>
<p>In this example I have used the InkPresenter to capture the mouse and produce vector paths. I also have a basic interface to change the colour and path size. I then use that captured data to duplicate the vector path upon 16 faces each rotating around a common point using the Projection properties.</p>
<p>The Projection properties in this example have been created inside Expression Blend using a storyboard activated by behaviors.</p>
<p>The InkPresenter control is this example has been created inside Expression Blend, but we need to do a bit of work in the code behind file to record the data and convert it into a visual path. You can read more about this process<a title="Learn how to use the InkPresenter control" href="http://msdn.microsoft.com/en-us/magazine/cc721604.aspx" target="_blank"> in this MSDN article</a>.</p>
<h2>Grab the Source</h2>
<p>As always, you can grab the <a title="Download the source files to this post here" href="http://www.silverlightbuzz.com/examples/projection3DShapes.zip">source files to this post here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2010/02/04/mixing-it-up-using-the-inkpresenter-with-3d-projection/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create a simple 3D sphere animation in Silverlight</title>
		<link>http://www.silverlightbuzz.com/2010/02/02/create-a-simple-3d-sphere-animation-in-silverlight/</link>
		<comments>http://www.silverlightbuzz.com/2010/02/02/create-a-simple-3d-sphere-animation-in-silverlight/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 18:24:16 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Silverlight Effects]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Direction]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Projection]]></category>
		<category><![CDATA[Rotation]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[Sphere]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=799</guid>
		<description><![CDATA[Today I want to show how easy it is to produce a basic 3D object in Silverlight, in the below...]]></description>
			<content:encoded><![CDATA[<p>Today I want to show how easy it is to produce a basic 3D object in Silverlight, in the below example I have used 5 circles to produce a sphere animation. I treat each circle with a looping Projection Transform.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/Projection3DObject/sphere.html" frameborder="0" style="height:300px;width:560px;">Please upgrade your browser</iframe>
</div><br />
Each circle is treated with the exact same treatment but offset so that they form a sphere, to break out each circle press the &#8216;<strong>Break Apart</strong>&#8216; button. To fit the circles together again, press the &#8216;<strong>Place Together</strong>&#8216; button.</p>
<p>You can enhance the 3D effect further by pressing the &#8216;<strong>Spin</strong>&#8216; button, this simply plays a storyboard to spin each circle on an additional axis.</p>
<p>To create this effect I have used the Projection Transform Rotation properties and used Easing on the animations inside <a title="Read more about Expression Blend 3" href="http://www.microsoft.com/Expression/products/Blend_Overview.aspx" target="_blank">Expression Blend 3</a> to help the inertia look right.</p>
<h2>Grab the Source</h2>
<p>As usual you can <a title="Download the source files for this post" href="http://www.silverlightbuzz.com/examples/projection3Dobject.zip" target="_self">download the source files for this example here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2010/02/02/create-a-simple-3d-sphere-animation-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Creating a Silverlight 3d spiral effect with projection</title>
		<link>http://www.silverlightbuzz.com/2010/01/28/creating-a-3d-spiral-effect-with-projection/</link>
		<comments>http://www.silverlightbuzz.com/2010/01/28/creating-a-3d-spiral-effect-with-projection/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 00:18:02 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Silverlight Effects]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Direction]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Projection]]></category>
		<category><![CDATA[Rotation]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=766</guid>
		<description><![CDATA[We can use the projection properties in Silverlight 3 to help produce a 3D spiral animation. Please upgrade your browser...]]></description>
			<content:encoded><![CDATA[<p>We can use the projection properties in Silverlight 3 to help produce a 3D spiral animation.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/Spiral1/spiral.html" frameborder="0" style="height:300px;width:560px;">Please upgrade your browser</iframe>
</div>
<h2>Breakdown of effects</h2>
<p>To create this effect I use the following transforms:</p>
<ul>
<li>Opacity at either end of the animation.</li>
<li>Projection values to the X and Z axis to make each element loop to the foreground and background.</li>
<li>Scale transform to enhance the size of each element at it&#8217;s nearest and furthest point.</li>
<li>Easing on the above Scale transform to help the movement look more natural.</li>
<li>Translate transform to move the elements from the left to right.</li>
</ul>
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/Spiral2/spiral.html" frameborder="0" style="height:230px;width:560px;">Please upgrade your browser</iframe>
</div><br />
To get the above effect I also carried out these additional effects:</p>
<ul>
<li>I replaced the circle elements for images.</li>
<li>I slowed down the storyboards using the <strong>SpeedRatio </strong>value, this allows you to speed up or slow down a storyboard without having to go through and reposition all the key frames.</li>
<li>I added an additional projection transform to the Y axis to give the impression the spiral effect is along a curve.</li>
</ul>
<h2>Grab the source</h2>
<p>As usual you can download the source files for both the above examples.</p>
<p><a title="Download Silverlight spiral effect using 3d projection 1" href="http://www.silverlightbuzz.com/examples/spiral1.zip" target="_self">Silverlight spiral effect using 3d projection 1</a></p>
<p><a title="Download Silverlight spiral effect using 3d projection 2" href="http://www.silverlightbuzz.com/examples/spiral2.zip" target="_self">Silverlight spiral effect using 3d projection 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2010/01/28/creating-a-3d-spiral-effect-with-projection/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Playing with Projection in Silverlight</title>
		<link>http://www.silverlightbuzz.com/2010/01/26/playing-with-projection-in-silverlight/</link>
		<comments>http://www.silverlightbuzz.com/2010/01/26/playing-with-projection-in-silverlight/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 14:00:51 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Silverlight Effects]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Direction]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Projection]]></category>
		<category><![CDATA[Rotation]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=758</guid>
		<description><![CDATA[Using only storyboards and behaviours I have created a cool 3d particle effect. Please upgrade your browser Break down of...]]></description>
			<content:encoded><![CDATA[<p>Using only storyboards and behaviours I have created a cool 3d particle effect.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/ProjectionFun1/projectionfun1.html" frameborder="0" style="height:480px;width:560px;">Please upgrade your browser</iframe>
</div>
<h2>Break down of effects.</h2>
<p>Each element (circle) has it&#8217;s own storyboard that uses the projection properties to spin it around in a 360 degree fashion on it&#8217;s X axis. By increasing the centre point value of the Z axis we get a larger radius.</p>
<p>On top of that each element is offset by 30 degrees on it&#8217;s Y axis, this allows all the elements to form an imaginary sphere. I have also set the storyboard durations to different lengths to allow a chaotic feel to the animation.</p>
<p>Finally I have performed a rotate animation on all of the elements. The was no code needed to create this example, everything was done inside <a title="Expression Blend 3" href="http://www.microsoft.com/Expression/products/Blend_Overview.aspx" target="_blank">Expression Blend 3</a>.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/ProjectionFun2/projectionfun2.html" frameborder="0" style="height:480px;width:560px;">Please upgrade your browser</iframe>
</div><br />
To take the animation one step further, I have replaced the coloured circles with radial gradients and changed the scale of several elements. This adds an additional dimension to the animation.</p>
<h2>Grab the source</h2>
<p>As usual you can grab the source here:</p>
<p><a title="Projection Example 1" href="http://www.silverlightbuzz.com/examples/projectionFun1.zip">Projection example 1</a></p>
<p><a title="Projection Example 2" href="http://www.silverlightbuzz.com/examples/projectionFun2.zip">Projection example 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2010/01/26/playing-with-projection-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Optimizing Silverlight with Enable Redraw Regions</title>
		<link>http://www.silverlightbuzz.com/2009/11/17/optimizing-silverlight-with-enable-redraw-regions/</link>
		<comments>http://www.silverlightbuzz.com/2009/11/17/optimizing-silverlight-with-enable-redraw-regions/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 22:15:34 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Frame rate]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Redraw]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=711</guid>
		<description><![CDATA[When building Silverlight applications, especially ones with multiple animations and storyboards, it is easy to quickly find your processor requirements...]]></description>
			<content:encoded><![CDATA[<p>When building Silverlight applications, especially ones with multiple animations and storyboards, it is easy to quickly find your processor requirements start spiking. This can reduce your viewers experience through slow frame rates and jumpiness, especially on lower spec machines.</p>
<p>One way to optimize your Silverlight application is to check that it is not having to render objects that are not being used or seen. If a storyboard is animating an object then that object is redrawn each frame even if it is out of view or behind another object. By stopping these animations or collapsing them until we need them will help keep down the processor requirements.</p>
<p>By using the &#8216;<strong>EnableRedrawRegions</strong>&#8216; property we can see every part of the screen that is being redrawn each frame.</p>
<p>Below is an example of an animation and the ability to move an object on top to hide it.</p>
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/RedrawRegion/Off/RedrawOff.html" frameborder="0" style="height:100px;width:490px;">Please upgrade your browser</iframe>
</div><br />
Below is the same example but with the EnableRedrawRegions property switched on. Notice how the animation is still being redrawn even when it is fully hidden by the Black area, but if we press the Collapse button the animation is no longer redrawn.</p>
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/RedrawRegion/On/RedrawOn.html" frameborder="0" style="height:100px;width:490px;">Please upgrade your browser</iframe>
</div><br/><br />
<h2>The &#8216;how to&#8217; bit</h2>
<p>To turn on the EnableRedrawRegions property we need to add the following code in the HTML page hosting the Silverlight:</p>
<p>&lt;<span style="outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; color: #800000; background-position: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;">param</span><span style="outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; color: #ff0000; background-position: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;"> name=</span><span style="outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; color: #0000ff; background-position: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;enableRedrawRegions&#8221;</span><span style="outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; color: #ff0000; background-position: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;"> value=</span><span style="outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; color: #0000ff; background-position: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;true&#8221;</span> /&gt;</p>
<p>Add it after the &#8216;<strong>object</strong>&#8216; tag with the other default &#8216;<strong>param</strong>&#8216; tags created by Visual Studio.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/11/17/optimizing-silverlight-with-enable-redraw-regions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating buttons and using States in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/21/creating-buttons-and-using-states-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/21/creating-buttons-and-using-states-in-blend/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 00:01:51 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Button control]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Learn-Blend-in-a-Month]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Work environment]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=582</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. Silverlight has a number...]]></description>
			<content:encoded><![CDATA[<p>This post is part of a string of posts found here: <a title="Learn Blend in a Month" href="http://www.silverlightbuzz.com/learn-blend-in-a-month/">Learn Blend in a Month</a>.</p>
<p>Silverlight has a number of &#8216;out the box&#8217; controls which I will touch on further along this tutorial series, but one of the most used and helpful controls is the button. The button control does exactly what it says, it scales to what ever size you want, can display text within it, and has animations set out for rollover and mouse click actions. There are also pre-set states for when the button is disabled and also selected using the tab key.</p>
<p>All the above actions have a default styling ready for use and looks like the below example&#8230;<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/button/button.html" frameborder="0" style="height:100px;width:100px;">Please upgrade your browser</iframe>
</div><br />
To draw a button, go to the main tool bar and click the 2nd from bottom icon (the one above &#8216;<strong>Assets</strong>&#8216;). The button control should be the default selected, but if not click and hold the mouse on the current selected control and select the button icon&#8230;</p>
<p><img class="alignnone" title="Select the Button icon" src="http://www.silverlightbuzz.com/images/button1.jpg" alt="" width="184" height="260" /></p>
<p>Now you can click and draw your button on the Design area.</p>
<p><strong>Using the default styling</strong></p>
<p>If you are happy to use the default styling then you can change the size of the button to fit your requirements. You can also change the text within the button by going to the &#8216;<strong>Properties</strong>&#8216; tab and scrolling down to the &#8216;<strong>Common Properties</strong>&#8216; section. Enter the text you want displayed in your button in the &#8216;<strong>Content</strong>&#8216; field. To change the font size or font type, scroll down to the &#8216;<strong>Text</strong>&#8216; section. To change the text color or the tint color of the button, scroll back up to the &#8216;<strong>Brushes</strong>&#8216; section. The &#8216;<strong>Background</strong>&#8216; color changes the tint of the button and the &#8216;<strong>Foreground</strong>&#8216; color changes the text color.</p>
<p><strong>Customizing the button style</strong></p>
<p>If you want to add your own design to the Button control then you need to create a new &#8216;<strong>Style</strong>&#8216;. To do this first select the button you have drawn, now you should see that just above the top left of the Design area the button&#8217;s name is displayed with an arrow to the right. Click the arrow and select &#8216;<strong>Edit Template</strong>&#8216; and then &#8216;<strong>Edit a Copy</strong>&#8216;&#8230;</p>
<p><img class="alignnone" title="Create a new style" src="http://www.silverlightbuzz.com/images/button2.jpg" alt="" width="324" height="148" /></p>
<p>Now a popup will appear asking you to name your new Style. Once you click OK, you will notice that you are automatically taken inside the new Style. Under the &#8216;<strong>Objects and Timeline</strong>&#8216; tab you will now see the assets that make the button control up, you can add, edit or remove these at your will. Under the &#8216;<strong>States</strong>&#8216; tab you will now see several pre-set actions taken for different scenarios, they are&#8230;</p>
<ul>
<li><strong>Base </strong>- This is your buttons default styling</li>
</ul>
<p><strong>Common States</strong></p>
<ul>
<li><strong>Normal </strong>- This is your buttons return styling after it has been interacted with</li>
<li><strong>MouseOver</strong> &#8211; This is your buttons rollover animation</li>
<li><strong>Pressed </strong>- This is your buttons click animation</li>
<li><strong>Disabled </strong>- This is your buttons style when set to disabled</li>
</ul>
<p><strong>FocusStates</strong></p>
<ul>
<li><strong>Unfocused </strong>- This is your buttons styling when not set to focused (Through tabbing)</li>
<li><strong>Focused </strong>- This is your buttons styling when set to focused (Through tabbing)</li>
</ul>
<p>To edit one of these &#8216;<strong>States</strong>&#8216;, select the state and then make your changes to the button assets. You will notice that when you select a State, a red recording light will appear to its left just like when editing a storyboard.</p>
<p>To make changes to the button assets make sure you have &#8216;<strong>Base</strong>&#8216; selected or it will be recording your changes as a <a href="http://www.silverlightbuzz.com/2009/10/12/animating-with-storyboards-in-blend/">Storyboard</a> does. You can read more about <a href="http://www.silverlightbuzz.com/2009/10/12/animating-with-storyboards-in-blend/">how Storyboards work in this tutorial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/21/creating-buttons-and-using-states-in-blend/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Using the Canvas element in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/15/using-the-canvas-element-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/15/using-the-canvas-element-in-blend/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 00:01:19 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight 3 tutorials]]></category>
		<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Learn-Blend-in-a-Month]]></category>
		<category><![CDATA[Opacity]]></category>
		<category><![CDATA[Pixel Shaders]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Work environment]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=556</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. The &#8216;Canvas&#8216; element can...]]></description>
			<content:encoded><![CDATA[<p>This post is part of a string of posts found here: <a title="Learn Blend in a Month" href="http://www.silverlightbuzz.com/learn-blend-in-a-month/">Learn Blend in a Month</a>.</p>
<p>The &#8216;<strong>Canvas</strong>&#8216; element can be used to group other elements up, including other &#8216;<strong>Canvasses</strong>&#8216;. A &#8216;<strong>Canvas</strong>&#8216; has properties like any other element, it can be moved around, have a set height and width, have transforms including projection applied, have a background color, have it&#8217;s Opacity set and even have Pixel Shaders applied. All items inside that &#8216;Canvas&#8217; will be affected by these properties as a unit.</p>
<p>To draw a Canvas, first go to your tool panel, click and hold on the Grid (shown by default) icon and select &#8216;<strong>Canvas</strong>&#8216;. Now draw the area you want to have as a &#8216;<strong>Canvas</strong>&#8216;.</p>
<p><img class="alignnone" title="Select the Canvas tool" src="http://www.silverlightbuzz.com/images/canvas1.jpg" alt="" width="178" height="182" /></p>
<p>To group elements into a &#8216;<strong>Canvas</strong>&#8216;, first select all the elements you want to group, then right click on them and select &#8216;<strong>Group into</strong>&#8216; and then click on &#8216;<strong>Canvas</strong>&#8216;.</p>
<p>This can have some interesting benefits. When using Opacity Masks and Pixel Shaders on a Canvas, the effect is treated to the contents inside as one unit. For example, Opacity will not show shapes underneath other shapes like they would if treated individually (See below).</p>
<p><img class="alignnone" title="Opacity effect using Canvas" src="http://www.silverlightbuzz.com/images/colourspots.jpg" alt="" width="301" height="332" /></p>
<ol>
<li>(Top): No opacity.</li>
<li>(Middle): Opacity applied to Canvas containing elements.</li>
<li>(Bottom): Opacity applied to individual elements.</li>
</ol>
<p>The DropShadow Pixel Shader effect works the same way.</p>
<p><img class="alignnone" title="Applying Shadow effect to Canvas" src="http://www.silverlightbuzz.com/images/colourshadows.jpg" alt="" width="292" height="341" /></p>
<ol>
<li>(Top): No shadow.</li>
<li>(Middle): Shadow applied to Canvas containing elements.</li>
<li>(Bottom): Shadow applied to individual elements.</li>
</ol>
<p>Elements inside a Canvas are positioned by two values.</p>
<ul>
<li><strong>Left </strong>= The &#8216;X&#8217; value.</li>
<li><strong>Top </strong>= The &#8216;Y&#8217; value.</li>
</ul>
<p>The position 0,0 is set to the Canvas&#8217; most top left point.</p>
<p>Grouping elements into a &#8216;<strong>Canvas</strong>&#8216; is a good thing to do if you want to move multiple elements in the same way with animation. The Canvas is used often when making games in Silverlight as they can act and be controlled independantly from the rest of the stage.</p>
<p>There is no limit to having multiple Canvasses inside Canvasses.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The &#8216;Canvas&#8217; element can be used to group other elements up, including other &#8216;Canvas&#8221;. A &#8216;Canvas&#8217; has properties like any other element, it can be moved around, have a set height and width, have transforms including projection applied, have a background color, have it&#8217;s Opacity set and even have Pixel Shaders applied. All items inside that &#8216;Canvas&#8217; will be affected by these properties as a unit.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">This can have some interesting benefits. When using Opacity Masks and Pixel Shaders on a Canvas, the effect is treated to the contents inside as one unit. For example, Opacity will not show shapes underneath other shapes like they would if treated individually (See below).</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">(Top): No opacity.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">(Middle): Opacity applied to Canvas containing elements.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">(Bottom): Opacity applied to individual elements.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The DropShadow Pixel Shader effect works the same way.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">(Top): No shadow.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">(Middle): Shadow applied to Canvas containing elements.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">(Bottom): Shadow applied to individual elements.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Elements inside a Canvas are positioned by two values.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Left = The &#8216;X&#8217; value.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Top = The &#8216;Y&#8217; value.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The position 0,0 is set to the Canvas&#8217; most top left point.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Grouping elements into a &#8216;Canvas&#8217; is a good thing to do if you want to move multiple elements in the same way with animation. The Canvas is used often when making games in Silverlight as they can act and be controlled independantly from the rest of the stage.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">There is no limit to having multiple Canvas&#8217; inside Canvas&#8217;.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/15/using-the-canvas-element-in-blend/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

