<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Shawn Burke's Blog : Silveright</title><link>http://blogs.msdn.com/sburke/archive/tags/Silveright/default.aspx</link><description>Tags: Silveright</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Silverlight 2 Beta 1 Controls Available, including Source and Unit Tests</title><link>http://blogs.msdn.com/sburke/archive/2008/03/05/silverlight-2-beta-1-controls-available-including-source-and-unit-tests.aspx</link><pubDate>Wed, 05 Mar 2008 18:45:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8058891</guid><dc:creator>sburke</dc:creator><slash:comments>30</slash:comments><comments>http://blogs.msdn.com/sburke/comments/8058891.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sburke/commentrss.aspx?PostID=8058891</wfw:commentRss><description>&lt;h3&gt;Get Silverlight 2 Beta 1&lt;/h3&gt;  &lt;p&gt;If you were watching the Keynote from MIX08, you know that &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E0BAE58E-9C0B-4090-A1DB-F134D9F095FD&amp;amp;displaylang=en" target="_blank"&gt;Silverlight 2 Beta 1 is now available for download&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The package includes three components:&lt;/p&gt;  &lt;p&gt;1)&lt;strong&gt; The Silverlight 2 Beta 1 Runtime&lt;/strong&gt; - installs the basic Silverlight runtime components&lt;/p&gt;  &lt;p&gt;2) &lt;strong&gt;The Silverlight 2 SDK&lt;/strong&gt; - includes - installs tools for building Silverlight applications including the controls&lt;/p&gt;  &lt;p&gt;3) &lt;strong&gt;Microsoft Silverlight Tools Beta 1 for Visual Studio 2008&lt;/strong&gt; - installs a project system for Silverlight that works on Visual Studio 2008, including Silverlight XAML Intellisense, &lt;a href="http://blogs.msdn.com/controlpanel/blogs/www.microsoft.com/expression/products/download.aspx?key=blend2dot5" target="_blank"&gt;Expression Blend&lt;/a&gt; interop, and a design-time view of the Silverlight app that you're building.&lt;/p&gt;  &lt;h3&gt;Get the Source for the Controls&lt;/h3&gt;  &lt;p&gt;A few months back, we pulled together a team to build out this list of controls.&amp;#160; As part of this effort, we wanted to make sure we delivered something that would really help customers with using the Beta 1 bits.&amp;#160; &lt;/p&gt;  &lt;p&gt;So we decided to do to things:&lt;/p&gt;  &lt;p&gt;1) Provide source code for the components so users can use it as a sample, or to make changes to the components themselves. &lt;/p&gt;  &lt;p&gt;2) Within that project, also ship the Unit Tests that our developers used when writing the components.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;You can also download the &lt;/strong&gt;&lt;a href="http://download.microsoft.com/download/6/5/e/65e6d2b0-8f7e-4e08-ae62-31f03d664f73/Silverlight2Beta1Controls.exe" target="_blank"&gt;&lt;strong&gt;Silverlight 2 Beta 1 Controls&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; project package now.&amp;#160; &lt;/strong&gt;The code in this package exactly matches the controls included with the Silverlight 2 Beta 1 SDK download (for example, TextBox, Image, etc. are implemented directly in the runtime).&lt;/p&gt;  &lt;p&gt;Simply download the package and unzip it somewhere on your machine using the self-extracting zip.&amp;#160; Once you've done that, launch the project using the &amp;quot;MixControls.sln&amp;quot; solution in VS 2008.&lt;/p&gt;  &lt;p&gt;When you launch the solution, you'll see six projects:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Controls&lt;/strong&gt; - contains basic controls like Button, Checkbox, etc.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Controls.Extended&lt;/strong&gt; - contains controls like Calendar, Slider, etc.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Controls.Data&lt;/strong&gt; - contains the DataGrid control&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Controls.Test&lt;/strong&gt; - Unit tests for the Controls project&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Controls.Extended.Test&lt;/strong&gt; - Unit tests for the Controls.Extended project&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Controls.Data.Test&lt;/strong&gt; - Unit tests for the Controls.Data project&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_14.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="Controls Project" src="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_thumb_6.png" width="256" border="0" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_12.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="Test Projects, Controls.Data, Controls.Extended" src="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_thumb_5.png" width="256" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As expected, all the source code for the controls is in the project.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_18.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="514" alt="image" src="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_thumb_8.png" width="504" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Testing Silverlight Control Code&lt;/h3&gt;  &lt;p&gt;You can then run the unit tests for any of the projects by launching it's corresponding &amp;quot;Test&amp;quot; project.&amp;#160; Our test harness runs inside of the browser and runs the unit tests.&amp;#160; There are a lot of them -- almost 1500 for the Controls assembly alone! -- and we've gotten very good code coverage.&amp;#160; In the case of the Controls.Test project, for example, we know we're getting over 80% code coverage from our unit tests.&amp;#160; This facility has allowed us to have very few regressions in our control development work, as well as quickly spot any possible issues in the underlying Silverlight runtime when we pick up daily builds.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="457" alt="Silverlight Control Unit Tests" src="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_thumb.png" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you'd expect, the unit tests are basic but provide some functionality that you need for testing in an animated environment like Silverlight.&amp;#160; For example, if the template for a component defines animations, you need to wait for those to run and for the component to be added to the visual tree before checking the state.&amp;#160; You can't do this synchronously, and you can't access the UI thread from another thread.&amp;#160; So we came up with a unique easy to use system for this that handles all that for you, but still lets you write tests that are in one method and are easy to maintain.&lt;/p&gt;  &lt;p&gt;Here's an example:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_16.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="472" alt="image" src="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/Silverlight2Beta1ControlsAvailable_A5F1/image_thumb_7.png" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;CreateAsyncTest &lt;/strong&gt;takes the component, adds it to the Silveright surface, waits for it's Loaded event to fire, then runs the delegate function you've provided (in this case we're using the C# 3.0 Lambda syntax).&amp;#160; It's very clean and simple and allows very rapid writing and execution of tests.&lt;/p&gt;  &lt;p&gt;In the controls themselves, you'll also see lots of things to help you write your own control.&amp;#160; In each controls project, you'll find a file called &lt;strong&gt;generic.xaml&lt;/strong&gt;.&amp;#160; This is where you will find the default templates for all of our controls.&amp;#160; You can either customize this in place, or (preferably) use it as a starting point for creating your own templates.&lt;/p&gt;  &lt;p&gt;To use these controls in your Silverlight project instead of the default, just add the DLL to your references as you would with any other .NET project and you're set.&lt;/p&gt;  &lt;h3&gt;More Resources&lt;/h3&gt;  &lt;p&gt;We're working on getting more sample apps up to help you do usage and templating of controls, but the &lt;a href="http://silverlight.net/Learn/" target="_blank"&gt;online docs&lt;/a&gt; really are great, including videos and traditional MSDN content.&amp;#160; For example, check out this topic o&lt;a href="http://msdn2.microsoft.com/en-us/library/cc278069(VS.95).aspx" target="_blank"&gt;n templating a Button&lt;/a&gt;.&amp;#160; Keep an eye on &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight.net&lt;/a&gt; for more example apps.&lt;/p&gt;  &lt;p&gt;I've found the code in these controls invaluable when building Silverlight applications.&amp;#160; I think you will too!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8058891" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sburke/archive/tags/Silveright/default.aspx">Silveright</category><category domain="http://blogs.msdn.com/sburke/archive/tags/MIX08/default.aspx">MIX08</category></item><item><title>Getting to know Silverlight 2 Beta 1</title><link>http://blogs.msdn.com/sburke/archive/2008/02/22/getting-to-know-silverlight-2-0-beta-1.aspx</link><pubDate>Sat, 23 Feb 2008 00:40:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7851229</guid><dc:creator>sburke</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/sburke/comments/7851229.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sburke/commentrss.aspx?PostID=7851229</wfw:commentRss><description>&lt;h3&gt;What we've been up to in DevDiv...&lt;/h3&gt;  &lt;p&gt;Today, &lt;a href="http://weblogs.asp.net/scottgu/default.aspx" target="_blank"&gt;Scott&lt;/a&gt; put up a mammoth post introducing the upcoming &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx" target="_blank"&gt;Silverlight 2 Beta 1&lt;/a&gt;. His &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx" target="_blank"&gt;post&lt;/a&gt; includes an 8 (yes, 8!) part walk through building out an application using it.&amp;#160; I really have to hand it to Scott on this one, and I'm not just kissing up because he's my boss.&amp;#160; He's been talking about this post he's been working on all week, and I went over a little bit of it with him on Monday.&amp;#160; But when I saw it live this morning, my jaw just about hit the floor.&amp;#160; To say the guy is prolific is an understatement.&amp;#160; Just earlier this week, he put up another big &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/19/net-3-5-client-product-roadmap.aspx" target="_blank"&gt;roadmap post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I've been spending this week playing with the overall Silverlight 2 Beta 1 experience, which is coming along very nicely.&amp;#160;&amp;#160; The integration between Blend and the Visual Studio tools is really, really nice.&amp;#160;&amp;#160; I lack any UI design skills, but I'm starting to be able to build basic apps that look &lt;em&gt;okay,&lt;/em&gt; and that's a big step forward to me.&amp;#160; I'm having fun.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/GettingtoknowSilverlight2.0Beta1_C042/image_2.png"&gt;&lt;/a&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="image" src="http://blogs.msdn.com/blogfiles/sburke/WindowsLiveWriter/GettingtoknowSilverlight2.0Beta1_C042/image_thumb.png" width="427" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;What my team has been up to...&lt;/h3&gt;  &lt;p&gt;Like many new, cool, things, my team has been involved with this as well.&amp;#160; As a way to set ourselves up for delivering top-notch Silverlight controls in the future, we agreed to take on the task of building out some of the basic Silverlight controls, including Button, CheckBox, and ListBox.&amp;#160; The controls work great, are easily templatable, and will be very familiar to any WPF users out there.&amp;#160; My team is working with some other teams to deliver a broad suite of controls in Beta1 including DataGrid, Calendar, ToolTip, Hyperlink, and GridSplitter, among others.&amp;#160; Given where we are at in the product cycle, the available control Toolbox is coming along nicely.&lt;/p&gt;  &lt;p&gt;But that's why we've been so quiet - it's been very busy.&amp;#160; But the model we're using - having the Silverlight Team build the runtime and a separate team build controls has really driven a lot of great feedback across the teams and resulted in a some real design and quality wins.&amp;#160; &lt;/p&gt;  &lt;p&gt;Looking forward to getting this stuff out into your hands!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7851229" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sburke/archive/tags/Silveright/default.aspx">Silveright</category></item></channel></rss>