<?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; Working with Silverlight</title>
	<atom:link href="http://www.silverlightbuzz.com/category/working-with-silverlight/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>Windows Phone &#8211; running game loops in Silverlight</title>
		<link>http://www.silverlightbuzz.com/2011/02/07/windows-phone-running-game-loops-in-silverlight/</link>
		<comments>http://www.silverlightbuzz.com/2011/02/07/windows-phone-running-game-loops-in-silverlight/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 09:58:13 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight C# Tutorials]]></category>
		<category><![CDATA[Silverllight Games]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CompositionTarget.Rendering]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DispatchTimer]]></category>
		<category><![CDATA[Game loop]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[looping]]></category>
		<category><![CDATA[Silverlight 4]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=951</guid>
		<description><![CDATA[While developing my WP7 game Bitbreaker, I tried and tested several methods to get a reliable game loop running. What...]]></description>
			<content:encoded><![CDATA[<p>While developing my WP7 game <a title="Bitbreaker on the Windows Phone" href="http://www.silverlightbuzz.com/2011/01/27/bitbreaker-for-the-windows-phone-7/" target="_self">Bitbreaker</a>, I tried and tested several methods to get a reliable game loop running.</p>
<h2>What is a game loop</h2>
<p>Many games require movement that is affected by constant changing factors. This often requires that movement to be adjusted on a regular basis. In arcade games, for example <a title="Read the Bitbreaker post" href="http://www.silverlightbuzz.com/2011/01/27/bitbreaker-for-the-windows-phone-7/" target="_self">Bitbreaker</a>, this action is required to happen many times each second. A game loop is the function that fires this repeatable action on a regular basis.</p>
<h2>Game loop types</h2>
<p>I tried the following types of game loops while developing my Windows Phone App.</p>
<ul>
<li>Looping a storyboard</li>
<li>Composition Target Rendering</li>
<li>Dispatch Timer</li>
</ul>
<h2>Looping a storyboard</h2>
<p>This is a very simple way to create a game loop.</p>
<ol>
<li>Create a storyboard either in the XAML or in your code behind file.</li>
<li>Set the storyboards duration to the amount of time you want delayed between each action.</li>
<li>Set the storyboard to repeat forever.</li>
<li>Set up a Storyboard.Completed Event handler to fire a function every time your storyboard plays out: <span style="color: #3366ff;">Storyboard.Completed += new EventHandler(Storyboard_Completed);</span></li>
<li>Place your game logic inside the function called on completed.</li>
</ol>
<h2>CompositionTarget.Rendering</h2>
<p>This is a good way to ensure your game loop is called every possible chance it can as it matches your games frame rate.</p>
<ol>
<li>Add CompositionTarget.Rendering to your event handlers: <span style="color: #3366ff;">CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering);</span></li>
<li>Place your game logic inside the function called</li>
</ol>
<h2>Dispatch Timer</h2>
<p>This is good way to control your game loop repeating at a consistent rate.</p>
<ol>
<li>Add the new reference: <span style="color: #3366ff;">using System.Windows.Threading;</span></li>
<li>Declare Dispatch Timer as a member: <span style="color: #3366ff;">DispatcherTimer timer = new DispatcherTimer();</span></li>
<li><span style="color: #3366ff;"><span style="color: #000000;">Set the interval value to control the time delay between each action:</span> timer.Interval = TimeSpan.FromMilliseconds(25);</span></li>
<li><span style="color: #3366ff;"><span style="color: #000000;">Set up a Tick event handler on our DispatchTimer:</span> timer.Tick += new EventHandler(timer_Tick);</span></li>
<li><span style="color: #000000;">Place your game logic inside the function called on each Tick.</span></li>
<li><span style="color: #3366ff;"><span style="color: #000000;">Start the DispatchTimer:</span> timer.Start();</span></li>
</ol>
<h2>The results</h2>
<p>After trying all 3 methods on a Windows Phone, I found the <strong>DispatchTimer </strong>to be the best suited for <a title="Windows Phone game example" href="http://www.silverlightbuzz.com/2011/01/27/bitbreaker-for-the-windows-phone-7/" target="_self">my Windows Phone game</a>. So while many people think Windows Phones are more suited for business users and the odd chore like <a href="http://www.policyexpert.co.uk/home-insurance/buildings-insurance/">comparing buildings insurance</a> online, these results show that it&#8217;s more than suitable for gaming. I needed to get the fastest frame rate but also keep the movement in my game consistent. The dispatch timer achieved this very well.</p>
<p>I found using the <strong>looping storyboard </strong>approach gave me a low frame rate as it required communicating with the XAML each time, even if there were no visible parts moving.</p>
<p>I use the <strong>CompositionTarget.Rendering</strong> route often when creating games for the common desktop PC, this is due to it giving a very fast loop. However, when developing for the Windows Phone, we are using a much slower processor and can&#8217;t guarantee the frame rate will stay consistent. For Bitbreaker I required the ball to keep a consistent speed, using this approach would make the ball speed up and slow down when asking the game to perform different tasks of varying difficulty.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2011/02/07/windows-phone-running-game-loops-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bitbreaker for the Windows Phone 7</title>
		<link>http://www.silverlightbuzz.com/2011/01/27/bitbreaker-for-the-windows-phone-7/</link>
		<comments>http://www.silverlightbuzz.com/2011/01/27/bitbreaker-for-the-windows-phone-7/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 22:22:46 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[All Silverlight Examples]]></category>
		<category><![CDATA[Silverlight News]]></category>
		<category><![CDATA[Silverllight Games]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Bitbreaker]]></category>
		<category><![CDATA[Collision]]></category>
		<category><![CDATA[Drag]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Marketplace]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Silverlight 4]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=939</guid>
		<description><![CDATA[My first Windows Phone 7 App has just gone live on the Marketplace. It costs only 79p / $0.99 in...]]></description>
			<content:encoded><![CDATA[<p>My first Windows Phone 7 App has just gone live on the Marketplace. It costs only 79p / $0.99 in the UK/US so please go buy it and give me some nice feedback <img src='http://www.silverlightbuzz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p><a href="http://social.zune.net/redirect?type=phoneApp&amp;id=c1b90726-101b-e011-9264-00237de2db9e"><img title="bitbreaker for the Windows Phone 7 on Zune" src="http://www.silverlightbuzz.com/images/bitbreaker-montage.jpg" alt="" width="817" height="336" /></a></p>
<p><a title="Bitbreaker on Marketplace" href="http://social.zune.net/redirect?type=phoneApp&amp;id=c1b90726-101b-e011-9264-00237de2db9e" target="_self">Click here to view Bitbreaker on the Marketplace (you will need Zune installed).</a></p>
<p>As this was my first attempt at producing a Mobile app, I knew I was in for some interesting learning curves. Because of this I decided that my first app should be based on the well established bat and ball style game.</p>
<h2>Game features</h2>
<p>The launch version consists of the following features:</p>
<ul>
<li>1 free trial level</li>
<li>36 additional levels in the full game</li>
<li>5 power-up blocks that effect game play</li>
<li>6 types of blocks to hit varying in strength</li>
<li>1 bat that deflects the ball lower at the edges</li>
<li>An exponential multiplier point system requiring skill to master</li>
<li>3 tier achievement system for each level</li>
<li>Fast level restart system for people trying to hit those top achievements</li>
</ul>
<h2>Level designs</h2>
<p>The level designs range from quirky retro designs honoring the game industries history to complex and tough mazes. The user is required to complete a level before unlocking the next one to play.</p>
<h2>Multiplier bonus system</h2>
<p>I wanted to encourage players to try and trap the ball in mazes instead of just bashing away brick by brick. To help this I implemented a multiplier point system. Each time the player destroys a block they get an additional multiplier point that multiplies the score you get for destroying the next block. When the ball hits the bat then the multiplier bonus resets back to zero. This means in order to score high points the player needs to trap the ball so that it destroys several blocks before hitting the bat again. Some later complex levels allow the user to score massive points if played correctly</p>
<h2>Obstacles overcome</h2>
<p>During my progress I had several obstacles present themselves that I had to work around.</p>
<p>The first one, that presented itself early on, was having to code for a mobile processor. Having created Silverlight experiences for desktop PCs over the last 4 years has somewhat spoiled me over the years, meaning I have not had to be too careful about how many times I check values within the XAML. I found with the Windows Phone platform that taking my usual approach to creating a game left me with an unimpressive framerate when testing on the device. I soon learnt my lesson and started storing data in arrays and variables, this meant my app only had to trawl the XAML tree when it absolutely needed to.</p>
<p>The second obstacle was getting my app to load quickly on the test device. I found that my initial approach, running a for loop to create 81 block controls, took nearly 40 seconds to load. Two of the rules set out by Microsoft in order to have your app approved are:</p>
<p>Your app must load within 20 seconds</p>
<p>Upon restarting your app from a tombstone state it must take under 5 seconds to load</p>
<p>I found that asking the app to create and then draw so many controls upfront was a big task. To get around this I placed the controls into the XAML and set their visibility to collapsed so that the app did not have to redraw them until I asked it to later on.</p>
<p>The last problem was associated with the type of game I was creating. As I wanted to include blocks that were solid (could not be destroyed) I had the possibility that the ball could get stuck in an indefinite loop. To get around this I implemented a piece of code that checks to see if the ball has been trapped for a prolonged set of time and then adjust the balls trajectory slightly. This process is then repeated until the ball registers a hit with the bat.</p>
<h2>Future updates</h2>
<p>I have several plans for updates to Bitbreaker. They include some of the following:</p>
<ul>
<li>Plenty of more stages and levels</li>
<li>Invisible blocks</li>
<li>Moving blocks</li>
<li>New bat types to unlock each holding different characteristics</li>
<li>New Ball types to unlock each holding different characteristics</li>
<li>Multi-ball</li>
<li>A time trial mode that selects random levels</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2011/01/27/bitbreaker-for-the-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>2</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>Legally using non-standard fonts in Silverlight and Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/30/legally-using-non-standard-fonts-in-silverlight-and-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/30/legally-using-non-standard-fonts-in-silverlight-and-blend/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 00:01:55 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[Learn-Blend-in-a-Month]]></category>
		<category><![CDATA[Obfuscation]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[TextBlock]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Work environment]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=628</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. Blend 3 allows you...]]></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>Blend 3 allows you to embed fonts, but unfortunately if you publish your work online you are technically distributing the font. This is illegal and could potentially land you in trouble.</p>
<p>However, there is a way around this, if you encrypt the font so that it is not usable then you are arguably not distributing it any more. This process is known as Obfuscation. It is important, however, to point out that you still need a license or permission to use a non-standard font in your work.</p>
<h2>How to Obfuscate a font</h2>
<p>First open up Microsoft Word (2007+), create a new document and type every character you will need in the font you require. Save the file as an XPS document and close Microsoft Word.</p>
<p>Locate the saved XPS document on your hardrive and rename the file type from &#8216;<strong>.xps</strong>&#8216; to &#8216;<strong>.zip</strong>&#8216;. Now extract the contents of the .zip and find the file called &#8216;<strong>Resources</strong>&#8216;, inside this folder should be a document with the file type &#8216;<strong>.odttf</strong>&#8216;. Add this file into your Silverlight Solution and set its &#8216;<strong>Build Action</strong>&#8216; to &#8216;<strong>Resource</strong>&#8216;.</p>
<p>Now the final part, in the XAML, locate your textBlock and set the &#8216;<strong>FontFamily</strong>&#8216; property to the .odttf file in your solution. Directly after this needs to be a &#8216;<strong>#</strong>&#8216; and then the exact name of how the font was displayed in the selection field in Microsoft Word. This allows you to have multiple fonts in one .odttf file.</p>
<p>The XAML should look similar to the below.</p>
<p><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: #000000 !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">&lt;TextBlock x:Name=</code><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: blue !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">"textBlock"</code> <code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: #000000 !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">FontFamily=</code><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: blue !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">"./Fonts/20FD640A-6B8C-569B-6B08-6F60BA7CC534.odttf#Segoe UI"</code> <code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: #000000 !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">FontSize=</code><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: blue !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">"12"</code><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: blue !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;"> </code><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: #000000 !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">Foreground=</code><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: blue !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">"Black"</code> <code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: #000000 !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">Text=</code><code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: blue !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">"text content goes here"</code> <code style="font: normal normal normal 1em/normal 'Courier New', Courier, Fixed; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: normal !important; font-style: normal !important; font-size: 1em !important; display: inline !important; color: #000000 !important; background-position: initial initial !important; padding: 0px !important; margin: 0px !important; border: 0px !important initial !important initial !important;">/&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/30/legally-using-non-standard-fonts-in-silverlight-and-blend/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Making an object re-usable as a User Control in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/29/making-an-object-re-usable-as-a-user-control-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/29/making-an-object-re-usable-as-a-user-control-in-blend/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 00:01:11 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></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>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=624</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. If you are using...]]></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>If you are using multiple instances of elements then it may make more sense to think about making these elements User Controls. User Controls allow you to place objects into a container that can be re-used again and again, even multiple times at once. Every User Control has its own XAML file and its own code file.</p>
<p>To make a selection of elements on stage into a User Control it is really simple. First select all the objects you want to include in your new User Control, then right click anywhere on the selected objects. From the drop down options select &#8216;<strong>Make into UserControl&#8230;</strong>&#8216;. This creates a new XAML file containing the objects you selected with it&#8217;s own code behind file too.</p>
<p>Each time you want to add a new instance of your User Control you will need to add the following XAML in&#8230;</p>
<p><span style="color: #ff0000;">&lt;local:UserControlName Margin=&#8221;0,0,0,0&#8243;/&gt;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/29/making-an-object-re-usable-as-a-user-control-in-blend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Data Binding to share data in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/28/using-data-binding-to-share-data-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/28/using-data-binding-to-share-data-in-blend/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 00:01:37 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></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[User Input]]></category>
		<category><![CDATA[Work environment]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=616</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. Data Binding allows us...]]></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>Data Binding allows us to take the value from one object and apply it to another without needing to know a single line of code.</p>
<p>In this tutorial we are going to control the font size of a textBlock through the interaction of a Slider control. To start off we need to draw a Slider control and a textBlock on our stage as seen below.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/databinding/1/databinding.html" frameborder="0" style="height:72px;width:490px;">Please upgrade your browser</iframe>
</div><br />
To dataBind our Sliders value to our textBlocks font size we first need to select the Slider and go to the &#8216;<strong>Properties</strong>&#8216; tab. Scroll down to the &#8216;<strong>Common Properties</strong>&#8216; section and locate the &#8216;<strong>Value</strong>&#8216; property. Click on the small square icon to the right of the field, this will bring up a menu, select &#8216;<strong>Data Binding&#8230;</strong>&#8216;.</p>
<p><img class="alignnone" title="select Data Binding" src="http://www.silverlightbuzz.com/images/databinding.jpg" alt="" width="294" height="493" /></p>
<p>This will bring up the Create Data Binding window. First select the &#8216;<strong>Element Property</strong>&#8216; tab (the middle tab). Now click on the object we want to effect (the textBlock), this will bring up a list of values that can be binded. We want to effect the font size so scroll down and select &#8216;<strong>FontSize</strong>&#8216;. Finally we need to make sure the &#8216;<strong>Binding direction</strong>&#8216; is set to &#8216;<strong>TwoWay</strong>&#8216;, expand the bottom area to change this setting.</p>
<p><img class="alignnone" title="Choose the value to Data Bind to" src="http://www.silverlightbuzz.com/images/databinding2.jpg" alt="" width="490" height="588" /></p>
<p>Click ok to save these settings.</p>
<p>Now all that is left to do is to set the minimum and maximum values of our slider, these values will represent the font size range of our textBlock. To change these values go to the &#8216;<strong>Properties</strong>&#8216; tab and scroll down to the &#8216;<strong>Common Properties</strong>&#8216; section. We should end up with the following functionality.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/databinding/2/databinding.html" frameborder="0" style="height:72px;width:490px;">Please upgrade your browser</iframe>
</div><br />
You can see a more complex example of data binding in this<a href="http://www.silverlightbuzz.com/2009/07/09/data-binding-in-silverlight/"> previous post</a> of mine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/28/using-data-binding-to-share-data-in-blend/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Resources to share styling in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/27/using-resources-to-share-styling-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/27/using-resources-to-share-styling-in-blend/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 23:01:04 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Animation]]></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=612</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. When styling up a...]]></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>When styling up a control, Expression Blend allows you to apply that style to other controls. This firstly allows file sizes to be kept  down as the style is only written in the XAML once. Secondly this allows you to retain consistency across multiple controls set to the same style, when making changes to one, all controls set to that style will update automatically.</p>
<p>Below is an example of four standard button controls.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/resources/1/buttons.html" frameborder="0" style="height:46px;width:376px;">Please upgrade your browser</iframe>
</div>
<p>Now I am going to apply a visual style to the first button. You can read more about applying a style to the button control in this <a href="http://www.silverlightbuzz.com/2009/10/21/creating-buttons-and-using-states-in-blend/">previous post</a>. See how our first button is now visually unique compared to the other three.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/resources/2/buttons.html" frameborder="0" style="height:46px;width:376px;">Please upgrade your browser</iframe>
</div>
<p>Now to apply the same style to the following three buttons is really easy. To apply a style, we right click the button we want to change and select &#8216;<strong>Edit Template</strong>&#8216; and then &#8216;<strong>Apply Resource</strong>&#8216;. We now see a list to choose from of styles we have created that are available for that control.</p>
<p><img class="alignnone" title="Choose your style to apply" src="http://www.silverlightbuzz.com/images/buttonStyles.jpg" alt="" width="490" height="450" /></p>
<p>We can repeat this process to each of the buttons to apply this style to all four buttons.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/resources/3/buttons.html" frameborder="0" style="height:46px;width:376px;">Please upgrade your browser</iframe>
</div>
<p>Notice that the style applies to the contents inside the control. The Button control has a &#8216;<strong>Content Presenter</strong>&#8216; inside the control that uses Data Binding (we will touch on Data Binding later in this tutorial series) to pull through the text content, styling and color from the controls top level. By keeping this &#8216;<strong>Content Presenter</strong>&#8216; inside the styling we can keep the text on each button unique.</p>
<p>We can also make our style unrestricted to a fixed size, this allows us to use the same style for different sized buttons as shown below.<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/resources/4/buttons.html" frameborder="0" style="height:104px;width:376px;">Please upgrade your browser</iframe>
</div>
<p>Styles can be applied to all control inside Silverlight.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/27/using-resources-to-share-styling-in-blend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Behaviors to get things moving in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/26/using-behaviors-to-get-things-moving-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/26/using-behaviors-to-get-things-moving-in-blend/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 23:01:09 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Codeplex]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Drag]]></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[User Input]]></category>
		<category><![CDATA[Work environment]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=609</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. The launch of Silverlight...]]></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 launch of Silverlight 3 brought with it the introduction of Behaviors. Behaviors are pieces of functionality that can be applied to objects within Expression Blend without the need for knowing any code at all.</p>
<p>Expression Blend has the following Behaviors ready for use:</p>
<ul>
<li><strong>ChangePropertyAction </strong>- Change an objects property</li>
<li><strong>ControlStoryboardAction </strong>- Tell a storyboard to play/pause / stop</li>
<li><strong>FluidMoveBehavior </strong>- Changes an objects easing</li>
<li><strong>GoToStateAction </strong>- Changes an objects state</li>
<li><strong>HyperlinkAction </strong>- Calls a hyperlink</li>
<li><strong>MouseDragElementBehavior </strong>- Allows an item to be dragged</li>
<li><strong>PlaySoundAction </strong>- Plays an audio element</li>
<li><strong>RemoveElementAction </strong>- removes an object from the stage</li>
</ul>
<p>To apply a Behavior, first click on the last icon in the main tool bar called &#8216;<strong>Assets</strong>&#8216;, then drag your chosen Behavior onto the object you want to activate the Behavior.</p>
<p>Once your Behavior has been placed you will see it indented below that object in the &#8216;<strong>Object and Timeline</strong>&#8216; tab. To set the properties, click on the Behavior and go to the &#8216;<strong>Properties</strong>&#8216; tab. You will see two sections, the &#8216;<strong>Trigger</strong>&#8216; section allows you to set the source target and the event trigger type (mouse enter, mouse click etc). The &#8216;<strong>Common Properties</strong>&#8216; section allows you to set what happens when the Behavior is played.</p>
<p>In this <a href="http://www.silverlightbuzz.com/2009/10/12/animating-with-storyboards-in-blend/">previous post</a> we used the &#8216;<strong>ControlStoryboardAction</strong>&#8216; to start an animation off automatically when the page is loaded.</p>
<p>To find additional Behaviors to use check out the <a href="http://gallery.expression.microsoft.com/en-us/site/search">Expression Gallery</a> and <a href="http://www.codeplex.com/">CodePlex</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/26/using-behaviors-to-get-things-moving-in-blend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Out-the-box controls in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/23/out-the-box-controls-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/23/out-the-box-controls-in-blend/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 23:01:10 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Codeplex]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[Custom 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=598</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. Silverlight ships with lots...]]></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 ships with lots of built in controls ready for use with default skins applied. All of these controls are skinable following similar steps found here with <a href="http://www.silverlightbuzz.com/2009/10/21/creating-buttons-and-using-states-in-blend/">the &#8216;Button&#8217; control</a>.</p>
<p>To access the full list of controls available to you in Blend access the last icon in the main tool bar called &#8216;<strong>Assets</strong>&#8216;. This will open up a list of available assets of which one group is labled &#8216;<strong>Controls</strong>&#8216;, open up this drop down to see the full list of available controls.</p>
<p>With Blend 3 and the Silverlight SDK installed I have a list of over 100 controls to look through. Here is a list of ten useful controls I have picked out, ideal for beginner users:</p>
<p><strong>CheckBox </strong>- Works like standard check boxes<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/checkbox/checkbox.html" frameborder="0" style="height:123px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>ComboBox </strong>- A drop down selection box<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/combobox/combobox.html" frameborder="0" style="height:128px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>DatePicker </strong>- A drop down date picker box<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/datepicker/datepicker.html" frameborder="0" style="height:210px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>HyperlinkButton </strong>- A button linking to a web url<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/hyperlinkbutton/hyperlinkbutton.html" frameborder="0" style="height:35px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>ListBox </strong>- A scrollable list<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/listbox/listbox.html" frameborder="0" style="height:87px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>RadioButton </strong>- Works like standard radio buttons<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/radiobutton/radiobutton.html" frameborder="0" style="height:95px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>Rating </strong>- 5 Star rating<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/rating/rating.html" frameborder="0" style="height:39px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>ScrollViewer </strong>- Area to display content within a scrollable area<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/scrollviewer/scrollviewer.html" frameborder="0" style="height:170px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>Slider </strong>- A dragable thumb on a linear scale<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/slider/slider.html" frameborder="0" style="height:35px;width:200px;">Please upgrade your browser</iframe>
</div><br />
<strong>ToggleButton </strong>- An on / off button<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/out-the-box-controls/togglebutton/togglebutton.html" frameborder="0" style="height:39px;width:200px;">Please upgrade your browser</iframe>
</div>
<p>To access even more controls go visit the <a href="http://gallery.expression.microsoft.com/en-us/site/search">Expression Gallery</a> and <a href="http://www.codeplex.com/site/search?projectSearchText=silverlight">CodePlex</a> to see whats available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/23/out-the-box-controls-in-blend/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Changing the Mouse Icon graphic in Blend</title>
		<link>http://www.silverlightbuzz.com/2009/10/22/changing-the-mouse-icon-graphic-in-blend/</link>
		<comments>http://www.silverlightbuzz.com/2009/10/22/changing-the-mouse-icon-graphic-in-blend/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 23:01:42 +0000</pubDate>
		<dc:creator>Gavin Wignall</dc:creator>
				<category><![CDATA[Silverlight Blend Tutorials]]></category>
		<category><![CDATA[Working with Silverlight]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Learn-Blend-in-a-Month]]></category>
		<category><![CDATA[Mouse Icon]]></category>
		<category><![CDATA[Silverlight 3]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[User Input]]></category>
		<category><![CDATA[Work environment]]></category>

		<guid isPermaLink="false">http://www.silverlightbuzz.com/?p=590</guid>
		<description><![CDATA[This post is part of a string of posts found here: Learn Blend in a Month. Silverlight has 9 mouse...]]></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 9 mouse icons built in and ready for use. They are:</p>
<ul>
<li><strong>Arrow </strong>- Standard mouse pointer</li>
<li><strong>Eraser </strong>- Eraser tool similar to most paint applications</li>
<li><strong>Hand </strong>- Hand icon used most for button roll-overs</li>
<li><strong>IBeam </strong>- Used to indicate Text entry is required</li>
<li><strong>None </strong>- Hides the mouse pointer</li>
<li><strong>SizeNS </strong>- Used to show something can be dragged up/down</li>
<li><strong>SizeWE </strong>- Used to show something can be dragged left/right</li>
<li><strong>Stylus </strong>- Used to show a &#8216;dot&#8217; icon for use with Stylus pens</li>
<li><strong>Wait </strong>- Shows the Windows loading/thinking animation</li>
</ul>
<p>See the 9 icons in action below&#8230;<br />
<div class="iframe-wrapper">
  <iframe src="http://www.silverlightbuzz.com/silverlightProjects/mouseIcons/mouseIcons.html" frameborder="0" style="height:50px;width:450px;">Please upgrade your browser</iframe>
</div>
<p/>
<h2>The&#8217; how to&#8217; bit</h2>
<p>To change the mouse Icon when the user rolls over a button, first make sure you have the button in question selected. Then go to the &#8216;<strong>Properties</strong>&#8216; tab and scroll down to the &#8216;<strong>Common Properties</strong>&#8216; section. Change the drop down next to &#8216;<strong>Cursor</strong>&#8216; to choose which mouse icon will be used. Once the user rolls off the button the mouse icon will revert back to the arrow icon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silverlightbuzz.com/2009/10/22/changing-the-mouse-icon-graphic-in-blend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

