<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://phizzpop.visitmix.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Techniques</title><subtitle type="html" /><id>http://phizzpop.visitmix.com/blogs/techniques/atom.aspx</id><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/default.aspx" /><link rel="self" type="application/atom+xml" href="http://phizzpop.visitmix.com/blogs/techniques/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61120.2">Community Server</generator><updated>2008-04-02T08:42:00Z</updated><entry><title>Building and Reading Mangas online with XAML</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/07/17/building-and-reading-mangas-online-with-xaml.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/07/17/building-and-reading-mangas-online-with-xaml.aspx</id><published>2008-07-17T17:09:00Z</published><updated>2008-07-17T17:09:00Z</updated><content type="html">&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;By Don Burnett&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;I have always loved comic books as a kid. It wasn't until I was an adult that I saw the Japanese versions of comics, as full graphics novels. Now they are making the transition to online as many publications have (including the New York Times Reader).&amp;nbsp; Now here's a neat way to read Mangas and even &lt;A href="http://mangareader.wordpress.com/" target=_blank&gt;create them yourself&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://mangareader.wordpress.com/screenshots/" target=_blank&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;IMG src="http://mangareader.files.wordpress.com/2008/01/7.png" width=544 height=347&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Segoe UI"&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;The Manga Reader for WPF is really cool and offers a very customizable user experience..&lt;/FONT&gt;&lt;/P&gt;
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;H3&gt;Online Manga Explorer&lt;STRONG&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://mangareader.files.wordpress.com/2008/02/11.png" target=_blank&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;IMG style="MARGIN:5px;" src="http://mangareader.files.wordpress.com/2008/02/11.png" width=533 height=376&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Segoe UI"&gt; &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;The Online Manga Explorer allows you to browse online mangas available from community sites such as &lt;/FONT&gt;&lt;A href="http://www.onemanga.com/"&gt;&lt;FONT size=2 face="Segoe UI"&gt;www.onemanga.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Segoe UI"&gt; or &lt;/FONT&gt;&lt;A href="http://www.mangavolume.com/"&gt;&lt;FONT size=2 face="Segoe UI"&gt;www.mangavolume.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Segoe UI"&gt;.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;To&amp;nbsp; find a manga that you are interested in, use the search box in the upper right corner. The list of mangas displayed will be filtered as you type.&lt;/FONT&gt; 
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;Cool UX Features in Manga Explorer:&lt;/FONT&gt;&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Manual Page Flip&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Interactive Zoom&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Zoomed Panning&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Display Mode (Double Page Mode and Single Page Mode)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Page Flip Direction (read right to left or left to right, like a real paper Manga!)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;In Page Flow&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Remember Manga (opens your last read manga on startup)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Manga Reader Features:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Landscape mode supported for viewing images (make sure a landscape picture is at an even page number. If not, a “filler” page is inserted to fix the page alignment) &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Image preview of manga files (mga and wmga) in windows explorer for Windows Vista &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;New Panning mode for zoom: better for tablet pc users &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Combobox button for next/previous page allowing to quickly jump to a specific pages, and for quickly opening the next/previous chapter &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Also: quickly load next and previous manga(in directory layout). &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Preloading of images when opening web mangas to inproves page flip performance &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Fixed snapshot tool bug in single page mode &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Better memory usage when managing manga images (reader and creator) &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;New special panel for displaying manga info (title, author, etc.), instead of having an entire page for that &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Load mangas via: drag &amp;amp; drop from Windows explorer &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Added MangaFox to the list of manga stores (known bug: The category “All” does not display all mangas available. Pick a different category to locate the manga you wish to read.) &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Download/Load progress in Manga Creator and Manga Reader &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;The new MangaVolume site works with Manga Reader now &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Handling of mature content warning for One Manga and Manga Fox &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Ability to import images from one or multiple manga files (mga, wmga, cbz, cbt, cbr, zip, rar, tar) into Manga Creator workspace &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2&gt;&lt;FONT face="Segoe UI"&gt;&lt;STRONG&gt;Tip&lt;/STRONG&gt;: Press H to hide the title bar. This feature will be properly supported in the next release. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Segoe UI"&gt;&lt;STRONG&gt;Upcoming Features&lt;/STRONG&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;BR&gt;&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Bookmarks/favorites &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Better caching of manga thumbs &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Silverlight support &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;New “browser” like the Online Manga Explorer to quickly read weekly releases. &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Auto update when new version available &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Data virtualization (for mangas with a large number of pages) =&amp;gt; better memory usage &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Fix image quality problem when saving images with MC &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Customizable shortcuts &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2 face="Segoe UI"&gt;Autohide title bar in fullscreen mode &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Manga Creator&lt;/H3&gt;
&lt;P&gt;Wow you can now create your own Mangas! This is a very cool tool for creating pages chapters, assembling image assets all with drag and drop simplicity.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://mangareader.files.wordpress.com/2008/02/15.png" target=_blank&gt;&lt;IMG src="http://mangareader.files.wordpress.com/2008/02/15.png" width=545 height=344&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;STRONG&gt;Creator Workspace&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;Manga Creator lets you create and edit MGA and WMGA documents using a graphical designer. You can reorder elements such as manga pages, chapters or volumes by dragging and dropping them to the desired locations.&lt;/FONT&gt;&lt;/H4&gt;
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;STRONG&gt;Importing Web Images&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;To add a web image to you manga, press &lt;B&gt;W&lt;/B&gt; or click the “New Page from Web” sidebar icon. Then, type or paste the designed image URL and select OK to add the image to the workspace.&lt;/FONT&gt; 
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;STRONG&gt;Editing Manga Info&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;To change the manga title, author or artist, press &lt;B&gt;I&lt;/B&gt; or click the “Edit Manga Info” sidebar icon to bring up a property window. This will also allow you to change the page, chapter or Volume ID based on the selected item.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;/FONT&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Segoe UI"&gt;About Manga Format&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;H4&gt;&lt;A href="http://mangareader.files.wordpress.com/2008/02/wmga-tree.png"&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/H4&gt;
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;1. Supported Image Types-&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2 face="Segoe UI"&gt;The following image types are supported: JPEG, PNG, GIF, BMP, TIFF, WDP (HD Photo)&lt;/FONT&gt;&lt;/H4&gt;
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;2. MGA (Manga Document Format)&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Much like Microsoft Office 2007 documents, MGA manga documents are zip files that have been renamed to the .mga extension, and have the following file structure:&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;The &lt;B&gt;Manga.xml&lt;/B&gt; document in the &lt;B&gt;Content&lt;/B&gt; folder contains information about the structure of the manga. &lt;/FONT&gt;
&lt;P&gt;&lt;A href="http://mangareader.files.wordpress.com/2008/02/mga-xml.png"&gt;&lt;FONT color=#000000 size=2 face="Segoe UI"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT face="Segoe UI"&gt;&lt;STRONG&gt;Volume Attributes&lt;/STRONG&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;Id&lt;/B&gt; – The Id attribute is typically the manga volume number, but can also be a volume title. If the value of this attribute is not a number, the prefix “Volume” will not be displayed on the top of manga pages along with this Id. If the value of this attribute is “0”, no volume information will be displayed on the top of manga pages. This attribute is required.&lt;BR&gt;&lt;B&gt;Order&lt;/B&gt; – The Order attribute is a number specifying the order in which the volume will be displayed in Manga Reader. This attribute is optional.&lt;BR&gt;&lt;B&gt;IsExpanded&lt;/B&gt; – The IsExpanded attribute is used by Manga Creator to save the “expanded” state of the specified volume.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;H5&gt;&lt;FONT face="Segoe UI"&gt;&lt;STRONG&gt;Chapter Attributes&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H5&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;Id&lt;/B&gt; – The Id attribute is typically the manga chapter number, but can also be a chapter title. If the value of this attribute is not a number, the prefix “Chapter” will not be displayed on the top of manga pages along with this Id. If the value of this attribute is “0”, no chapter information will be displayed on the top of manga pages. This attribute is required.&lt;BR&gt;&lt;B&gt;Order&lt;/B&gt; – The Order attribute is a number specifying the order in which the chapter will be displayed in Manga Reader. This attribute is optional.&lt;BR&gt;&lt;B&gt;Name&lt;/B&gt; – The Name attribute specifies the name or title of the current chapter. This attribute is optional.&lt;BR&gt;&lt;B&gt;IsExpanded&lt;/B&gt; – The IsExpanded attribute is used by Manga Creator to save the “expanded” state of the specified volume.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;H5&gt;&lt;FONT face="Segoe UI"&gt;&lt;STRONG&gt;Page Attributes&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H5&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;Id&lt;/B&gt; – The Id attribute is typically the manga page number, but can also be a page title. If the value of this attribute is not a number, the prefix “Page” will not be displayed on the top of manga pages along with this Id. This attribute is required.&lt;BR&gt;&lt;B&gt;Order&lt;/B&gt; – The Order attribute is a number specifying the order in which the page will be displayed in Manga Reader. This attribute is optional.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;H5&gt;&lt;FONT face="Segoe UI"&gt;&lt;STRONG&gt;Page Value&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H5&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;The value of the &lt;B&gt;Page&lt;/B&gt; element is the absolute http URL of the image resource for .wmga documents, or the relative URL of the image resource for .mga documents.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;The &lt;B&gt;[Content_Types.xml]&lt;/B&gt; file is optional, meaning that Manga Reader will be able to open the document if this file does not exist. Saving a Manga using Manga Creator will automatically create this file, for compatibility reasons. This file contains a listing of all resource types found in the manga document.&lt;/FONT&gt; 
&lt;P&gt;&lt;A href="http://mangareader.files.wordpress.com/2008/02/content-types-xml.png"&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=2 face="Segoe UI"&gt;3. WMGA (Web Manga Document)&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Similar to MGA documents, WMGA documents are also zip files. The difference is that there are no resources embedded in the document. Therefore, pages in the manga are based on http links that point to images.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;&lt;STRONG&gt;See Volume Attributes, Chapter Attributes, Page Attributes sections above.&lt;/STRONG&gt;&lt;/FONT&gt; 
&lt;H4&gt;&lt;FONT size=2 face="Segoe UI"&gt;4. CBZ, CBR, CBT (Comic Book Archive)&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;These archives consist of a series of images archived respectively in ZIP, RAR or TAR file formats, with filenames renamed to the corresponding extension (CBZ, CBR and CBT).&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face="Segoe UI"&gt;Manga Reader and Manga Creator both support opening / importing comic book archives in these three formats.&lt;/FONT&gt; 
&lt;H4&gt;&lt;STRONG&gt;Download it today and start making your own!&lt;/STRONG&gt;&lt;/H4&gt;
&lt;H4&gt;Manga Reader v1.5&lt;/H4&gt;
&lt;P&gt;Release date: 07/06/08 
&lt;P&gt;&lt;A href="http://www.mediafire.com/?yslej2ojyos"&gt;Click here to download.&lt;/A&gt; 
&lt;H4&gt;&lt;STRONG&gt;Roll your Own Graphical Reader&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Use the WPF and now the Silverlight Book Control to create your own graphical "reader" application.. You can find it available over at &lt;A href="http://blogs.msdn.com/mitsu/archive/2007/04/18/wpf-book-control.aspx" target=_blank&gt;Mitsu's Blog&lt;/A&gt; and the &lt;A href="http://www.codeplex.com/wpfbookcontrol" target=_blank&gt;actual project over on CodePlex&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=5102" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Silverlight" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight/default.aspx" /><category term="WPF" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/WPF/default.aspx" /><category term="Custom Controls" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Custom+Controls/default.aspx" /><category term="Blend" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Blend/default.aspx" /><category term="manga" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/manga/default.aspx" /></entry><entry><title>Improving Your WPF 3.5 SP1 Controls Performance</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/07/06/improving-your-wpf-3-5-sp1-controls-performance.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/07/06/improving-your-wpf-3-5-sp1-controls-performance.aspx</id><published>2008-07-06T17:26:00Z</published><updated>2008-07-06T17:26:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face="Segoe UI"&gt;Simple tips for performance improvements with .Net 3.5 Service Pack 1 with controls (note this information is synchronized with beta 1)..&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;Controls that use the VirtualizingStackPanel Layout container..&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT face="Segoe UI"&gt;TreeView Control&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/treeviewControlsp1.png"&gt;&lt;FONT color=#000000 face="Segoe UI"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;MARGIN:5px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=treeviewControlsp1 src="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/treeviewControlsp1_thumb.png" width=415 height=159&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Segoe UI"&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;In the "Properties Panel" in Expression Blend Search for the&amp;nbsp; property:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="Segoe UI"&gt;VirtualizingStackPanel.VirtualizationMode&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;and again set it's property to be "&lt;STRONG&gt;Recycling&lt;/STRONG&gt;"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;The &lt;STRONG&gt;VirtualizingStackPanel.IsVirtualizing&lt;/STRONG&gt; property must be set to TRUE as well.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;Again setting these properties will cause you to see up to 40% scroll performance improvement in basic text scrolling, because while you scroll through items (in the control)&amp;nbsp; they are re-used when the UI elements that go out of view. If this option isn't specified, they&amp;nbsp; items are destroyed and recreated as you scroll.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;The XAML for your control will look something like this..&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;&amp;lt;TreeView VirtualizingStackPanel.IsVirtualizing=“true” VirtualizingStackPanel.VirtualizationMode="Recycling"&amp;nbsp; x:Name="TreeView1"/&amp;gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT face="Segoe UI"&gt;ListView &lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/ListViewControl1.png"&gt;&lt;FONT color=#000000 face="Segoe UI"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=ListViewControl1 src="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/ListViewControl1_thumb.png" width=416 height=203&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Segoe UI"&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;In the "Properties Panel" in Expression Blend Search for the&amp;nbsp; property:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="Segoe UI"&gt;VirtualizingStackPanel.VirtualizationMode&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;and again set it's property to be "&lt;STRONG&gt;Recycling&lt;/STRONG&gt;"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;The &lt;STRONG&gt;VirtualizingStackPanel.IsVirtualizing&lt;/STRONG&gt; property must be set to TRUE as well.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;Again setting these properties will cause you to see up to 40% scroll performance improvement in basic text scrolling, because while you scroll through items (in the control)&amp;nbsp; they are re-used when the UI elements that go out of view. If this option isn't specified, they&amp;nbsp; items are destroyed and recreated as you scroll.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;The XAML for your control will look something like this..&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&amp;lt;ListView VirtualizingStackPanel.IsVirtualizing=“true” VirtualizingStackPanel.VirtualizationMode="Recycling"&lt;/STRONG&gt; IsSynchronizedWithCurrentItem="True" x:Name="ListView1"&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt; &lt;/STRONG&gt;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;&lt;STRONG&gt;&lt;FONT face="Segoe UI"&gt;ListBox&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/ListBoxControl1.png"&gt;&lt;FONT color=#000000 face="Segoe UI"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=ListBoxControl1 src="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/ListBoxControl1_thumb.png" width=415 height=194&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Segoe UI"&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;In the "Properties Panel" in Expression Blend Search for the&amp;nbsp; property:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="Segoe UI"&gt;VirtualizingStackPanel.VirtualizationMode&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;and again set it's property to be "&lt;STRONG&gt;Recycling&lt;/STRONG&gt;"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;The &lt;STRONG&gt;VirtualizingStackPanel.IsVirtualizing&lt;/STRONG&gt; property must be set to TRUE as well.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;Again setting these properties will cause you to see up to 40% scroll performance improvement in basic text scrolling, because while you scroll through items (in the control)&amp;nbsp; they are re-used when the UI elements that go out of view. If this option isn't specified, they&amp;nbsp; items are destroyed and recreated as you scroll.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;The XAML for your control will look something like this..&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;ListBox VirtualizingStackPanel.IsVirtualizing=“true” VirtualizingStackPanel.VirtualizationMode="Recycling" IsSynchronizedWithCurrentItem="True" x:Name="ListBox1"/&amp;gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;&lt;STRONG&gt;&lt;FONT face="Segoe UI"&gt;Deferred Scrolling&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;This option keeps the content in view as static until scrolling is complete, this is similar to how Microsoft Outlook scrolls. You can turn on this capability right inside Expression Blend.. Again, use the search box in the properties panel to find the miscellaneous property on the ListBox Control called "IsDeferredScrollingEnabled" and check the checkbox.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/deferredscrolling.png"&gt;&lt;FONT color=#000000 face="Segoe UI"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=deferredscrolling src="http://www.donburnett.com/images/blog/ImproveYourWPFPerformance_A7F2/deferredscrolling_thumb.png" width=299 height=188&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Segoe UI"&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;&lt;STRONG&gt;&lt;FONT face="Segoe UI"&gt;DataGrid Control&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;The current beta doesn't provide us with this control to work with but I have been told that it will be available in the final release. This control will support the following performance improvements..&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;STRONG&gt;Container Recycling&lt;/STRONG&gt;- Like earlier examples, recycling will improve performance.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;Column Virtualization Extensions&amp;nbsp; n&lt;/B&gt;ew APIs added to VirtualizingStackPanel will exposes hooks to enable writing your own custom panel with virtualization in the horizontal direction. These could be used by a DataGrid control or by other custom panels. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face="Segoe UI"&gt;&lt;U&gt;Other New DataGrid Features (and some that can be used in other features)&lt;/U&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;MultiSelector &lt;/B&gt;support to handle multi-selection and bulk editing scenarios &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;IEditableCollectionView - &lt;/B&gt;New interface between data controls and data source that enables editing/adding/removing items in a transactional way. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;StringFormat - &lt;/B&gt;shortcut to display data bound number as formatted text &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;Alternating Rows - &lt;/B&gt;Lets you set alternating properties on rows of ItemsControl (for instance: alternating background colors in a DataGrid) &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;Conversions for Null Values - &lt;/B&gt;Recognize null values in editable controls and convert them to&amp;nbsp; a value based on an appropriate type. This is really slick and will save a lot of people writing value converters. It also adds TargetNullValue property which lets you set any value as equivalent to “null”.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Segoe UI"&gt;&lt;B&gt;Item-Level Validation - &lt;/B&gt;By using Binding Groups this applies validation rules to an entire bound item. Another really slick function.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Segoe UI"&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;H4&gt;&lt;U&gt;&lt;STRONG&gt;Code Free Enhancements&lt;/STRONG&gt;&lt;/U&gt; &lt;/H4&gt;
&lt;P&gt;&lt;STRONG&gt;BitmapsEffects&lt;/STRONG&gt; are the big ones.. Previously, all &lt;STRONG&gt;BitmapEffects&lt;/STRONG&gt; were rendered in Software, now the &lt;STRONG&gt;Blur&lt;/STRONG&gt; and &lt;STRONG&gt;DropShadow&amp;nbsp; &lt;/STRONG&gt;BitmapEffects are &lt;B&gt;Hardware Accelerated&lt;/B&gt; and rendered by the &lt;STRONG&gt;GPU&lt;/STRONG&gt;. However there are still three effects that are still done through software rendering &lt;STRONG&gt;OuterGlow, Bevel, and Emboss.&lt;/STRONG&gt;&amp;nbsp; &lt;STRONG&gt;BlurEffect, DropShadowEffect&lt;/STRONG&gt;&amp;nbsp; are marked obsolete by their previously mentioned replacements. Some people have asked why? I am not sure totally the rational used, but some other folks have pointed out that they might be rendered obsolete anyway by the new GPU based hardware rendering which only works with DirectX 9 and above installed. &lt;/P&gt;
&lt;P&gt;These effects in the past were mostly avoided, now they are extremely usable. In Silverlight for instance there are no BitmapEffects because there is no hardware accelerated rendering guaranteed available. So most people to stay as compatible as possible between a Windows Application and a Silverlight web application usually pre-render all of these as bitmaps anyway, so that's another approach you could take as well. In WPF there was also a way previously to "extend" the software rendered BitmapEffects but now that is obsolete as well.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WriteableBitmap&lt;/STRONG&gt; is the WPF mechanism for drawing and updating a system-memory bitmap to the screen on a per-frame basis. This feature was available before, but in the past it&amp;nbsp; allocated a new bitmap with every frame update, which made it too slow for use in many situations. Now things like paint software and bitmap based animations are possible, due to the changes in the way it updates frames.&amp;nbsp; This makes things with complex geometries draw faster, so fractal renders and scatter plotting and charting applications for instance will see a big performance increase. When working with WriteableBitmap it's suggested that you use BGR32 or pBGRA32 pixel formats, as they are native to the renderer. Other formats, while they will still work get format converted frame by frame, causing yet a performance hit.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Z-Order Zee- Ooohh..&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Microsoft has also significantly improved performance of WPF applications that continuously modify Z-Index property of Panel elements such as carousel controls. This is a welcome no code addition as things are very much sped up.&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;DIRECTX, Calling DIRECTX&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;With this release you can now have WPF and DirectX application, living working together in the same space. The new D3DImage class, allows you to overlay or blend Direct3D content interchangeably with WPF content (e.g. use the Direct3D surface as a brush for WPF content, or apply it as a texture within a WPF 3D scene ) without having any significant performance impact. HLSL DirectX Shader support has also been added.&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=5085" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="WPF 3.5 SP1" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/WPF+3.5+SP1/default.aspx" /><category term="performance optimization" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/performance+optimization/default.aspx" /><category term="virtualization" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/virtualization/default.aspx" /></entry><entry><title>Art and Technology Site Launches</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/26/art-and-technology-site-launches.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/26/art-and-technology-site-launches.aspx</id><published>2008-06-26T20:33:00Z</published><updated>2008-06-26T20:33:00Z</updated><content type="html">&lt;P&gt;Microsoft has launched it's new Art and Technology web site. The site features great examples of people doing amazing things with Silverlight, WPF and Expression Studio. The site not only has some great case studies but it features a "sandbox" section where you can get up and personal and learn about the technology, along with a gallery profiling some great things done by the interactive agency community that has embraced Microsoft's UX technologies. I had the pleasure of previewing this site months ago, and I am very excited to let you know it's out there and ready for prime time. It's a great showcase of Microsoft RIA goodness and it's now living and breathing with new content that will grow over time.&lt;/P&gt;
&lt;P&gt;The site is a great look at art and technology from Microsoft and how it's inspiring and building community around it.. Check it out today by clicking on the site picture itself to visit the site.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/artandtechnology" target=_blank&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;MARGIN:5px;BORDER-RIGHT-WIDTH:0px;" border=0 alt="Microsoft's Art and Technology Website" src="http://www.donburnett.com/images/blog/MicrosoftLaunchesArtandTechnologySite_E7F3/artandtech.png" width=613 height=484&gt;&lt;/A&gt; &lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=5021" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Silverlight" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight/default.aspx" /><category term="WPF" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/WPF/default.aspx" /><category term="Case Studies" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Case+Studies/default.aspx" /><category term="Art and Technology" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Art+and+Technology/default.aspx" /><category term="Live Site" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Live+Site/default.aspx" /></entry><entry><title>Silverlight 2 Changes for Beta 2 Overview</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/19/silverlight-2-changes-for-beta-2-overview.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/19/silverlight-2-changes-for-beta-2-overview.aspx</id><published>2008-06-19T14:24:00Z</published><updated>2008-06-19T14:24:00Z</updated><content type="html">&lt;P&gt;By Don Burnett&lt;/P&gt;
&lt;P&gt;Here is a list of some of the major changes between&amp;nbsp; Beta 1 and Beta 2 of Silverlight 2.0. If you are a developer or even designer you might find this to be a very useful list to be aware of. The full list can be found at: &lt;A href="http://go.microsoft.com/fwlink/?LinkID=120655&amp;amp;clcid=0x409"&gt;http://go.microsoft.com/fwlink/?LinkID=1&lt;B&gt;2&lt;/B&gt;0655&amp;amp;clcid=0x409&lt;/A&gt;. This is a more collapsed version of the document presented there, with things that I found very important to know..&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Styling Controls&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The built-in style for a control is now determined by looking at the DefaultStyleKey property. This property defaults to null (which means no built-in style will be used).&amp;nbsp; This is a big change. It brings the whole styling issue inline with what is going on in the WPF world. This will allow a developer to subclass a control without changing the built-in look and feel.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example: Inheriting the base style&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;public class MyButton : Button() { public MyButtion() : base() {&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example: Choosing to use a different style&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;public class MyButton : Button() { public MyButtion() : base() { DefaultStyleKey = typeof(MyButton); } // other custom PME public bool MyProperty {get; set;}&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Instantiation on a Web Page&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you don't use silverlight.js and the recommended methods for instancing a silverlight control on a web page and you are using the OBJECT tag to embed silverlight controls on your web page make sure you have changed Silverlight's secondary MIME type on the server to reflect beta two.. It should look like this..&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Old MIME type:&lt;BR&gt;&lt;/STRONG&gt;"application/x-silverlight-2-b1" &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;New MIME type:&lt;BR&gt;&lt;/STRONG&gt;"application/x-silverlight-2-b2"&lt;/P&gt;
&lt;P&gt;Any usage of the Beta 2 MIME type should be matched with the Beta 2 installer URL: &lt;A href="http://www.microsoft.com/silverlight/handlers/getsilverlight.ashx?v=2.0"&gt;http://www.microsoft.com/silverlight/handlers/getsilverlight.ashx?v=2.0&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;SetTargetProperty and GetTargetProperty&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;SetTargetProperty and GetTargetProperty&lt;STRONG&gt; &lt;/STRONG&gt;have been changed to support the same format as used by WPF.. It now looks like this..&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;STRONG&gt;public static PropertyPath GetTargetProperty(Timeline element); public static void SetTargetProperty(Timeline element, PropertyPath value);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=aria&gt;&lt;U&gt;&lt;/U&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;U&gt;System Controls that have been moved out of DLLs&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you application referenced System.Windows.Control.dll that came with the SDK, you may have to adjust your project with new references. The DLL called System.Windows.Controls.dll that used to ship in the SDK (rather than the runtime) has been removed altogether. Now, the controls that used to reside in that DLL are in System.Windows.dll, which ships with the runtime.&lt;/P&gt;
&lt;P&gt;This means your project may no longer need to include external .DLLs but you will have to adjust the references to this in your code.. Here's a reference&amp;nbsp; list of moved controls. Most of the issues with this can be fixed by just opening the old project with the new version Silverlight Tools installed and reopening in visual studio. It should ask you to upgrade your project, if it doesn't and for instance you are opening it up in BLEND first, then you might have to manually adjust your references.. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;ContentControl&lt;BR&gt;ContentPresenter&lt;BR&gt;RangeBase&lt;BR&gt;Slider&lt;BR&gt;ScrollBar&lt;BR&gt;Thumb&lt;BR&gt;ScrollViewer&lt;BR&gt;ButtonBase&lt;BR&gt;Button&lt;BR&gt;RepeatButton&lt;BR&gt;ToggleButton&lt;BR&gt;HyperlinkButton&lt;BR&gt;CheckBox&lt;BR&gt;RadioButton&lt;BR&gt;ListBox&lt;BR&gt;ListBoxItem&lt;BR&gt;OpenFileDialog&lt;BR&gt;ToolTip&lt;BR&gt;ToolTipService&lt;BR&gt;ClickMode&lt;BR&gt;DialogResult&lt;BR&gt;DisplayMemberValueConverter&lt;BR&gt;FileDialogFileInfo&lt;BR&gt;ScrollBarVisibility&lt;BR&gt;ScrollContentPresenter&lt;BR&gt;SelectionChangedEventArgs&lt;BR&gt;SelectionChangedEventHandler&lt;BR&gt;SelectionMode&lt;BR&gt;DragCompletedEventArgs&lt;BR&gt;DragDeltaEventArgs&lt;BR&gt;DragStartedEventArgs&lt;BR&gt;ScrollEventArgs&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;ScrollEventType&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT face="Trebuchet MS"&gt;The simple answer to fix this change is just to recompile your projects. If you notice in your XAML at the top of your code you see namespace references like:&lt;/FONT&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;xmlns:local='clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls' &lt;/P&gt;
&lt;P&gt;just &lt;STRONG&gt;REMOVE&lt;/STRONG&gt; any references like this that you see.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT face="Trebuchet MS"&gt;&lt;U&gt;TOOLTIP CHANGES&lt;/U&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Tooltips now are only accessible and usable through the new tooltip service.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Example: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;STRONG&gt;&amp;lt;Button ToolTipService.ToolTip="This is ToolTip text"/&amp;gt; &amp;lt;Button Content="Button"&amp;gt; &amp;lt;ToolTipService.ToolTip&amp;gt; &amp;lt;TextBlock Text="text"/&amp;gt; &amp;lt;/ToolTipService.ToolTip&amp;gt; &amp;lt;/Button&amp;gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;TYPE CHANGES&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial&gt;User control authors who defined their own font properties in beta 1 will find this change significant. The control base class now has the following inherited properties..&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The following inherited properties were added to the Control base class:&lt;BR&gt;&lt;STRONG&gt;FontFamily&lt;BR&gt;FontSize&lt;BR&gt;FontWeight&lt;BR&gt;FontStyle&lt;BR&gt;Foreground&lt;BR&gt;FontStretch&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Change in Handling of System.Windows.Controls.Extended.dll in XAML&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;It's now appropriate to directly reference the namespace uri and prefix if you are using one of the types found in System.Windows.Controls.Extended.Dll because The XmlnsDefinition attribute has also been removed from the System.Windows.Control.Extended.dll assembly have been removed from the assembly. &lt;/P&gt;
&lt;P&gt;Your code will now look something like this..&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;Canvas &lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;xmlns:swce="clr-namespace:System.Windows.Controls;assembly=system.windows.controls.extended&lt;/STRONG&gt;"&amp;gt;&lt;BR&gt;&lt;BR&gt;&amp;lt;swce:DatePicker ...&amp;gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&lt;BR&gt;&amp;lt;/Canvas&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;the namespace must be present to work..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;HTMLElement has Changed&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;HtmlElement.GetAttribute can now only be used to retrieve DOM element attributes while HtmlElement.GetProperty must be used to retrieve DOM element properties. &lt;/P&gt;
&lt;P&gt;Attempting to retrieve a DOM element property via HtmlElement.GetAttribute is no longer supported.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;DatePicker and Calendar Changes&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Calendar&lt;/STRONG&gt;&lt;BR&gt;[Removed] bool AreDatesInPastSelectable&lt;BR&gt;[Removed] Style DayStyle&lt;BR&gt;[Remove]d Style MonthStyle&lt;BR&gt;[Removed] DateTime SelectableDateStart&lt;BR&gt;[Removed] DateTime SelectableDateEnd&lt;BR&gt;&lt;STRONG&gt;DatePicker&lt;BR&gt;&lt;/STRONG&gt;[Removed] bool AreDatesInPastSelectable&lt;BR&gt;[Removed] DateTime SelectableDateStart&lt;BR&gt;[Removed] DateTime SelectableDateEnd&lt;BR&gt;&lt;STRONG&gt;Calendar and DatePicker&lt;BR&gt;&lt;/STRONG&gt;[Removed] bool IsEnabled {get; set;}&lt;BR&gt;[Removed] DateTime DisplayDateStart {get; set;}&lt;BR&gt;[Removed] DateTime DisplayDateEnd {get; set;}&lt;BR&gt;[Added] DateTimeRange DisplayRange {get; set;} 
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;HtmlPage.UnregisterScriptableObject&lt;/U&gt;&lt;/STRONG&gt; 
&lt;P&gt;This is now gone, instead developers can now re-use the same script registration key for &lt;STRONG&gt;RegisterScriptableObject&lt;/STRONG&gt;. This allows developers to change the underlying managed object associated with a scriptable entry point. 
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;WebClient Changes (HTTPWEBRequest)&lt;/U&gt;&lt;/STRONG&gt; 
&lt;P&gt;WebClient moved to &lt;STRONG&gt;System.Net.dll&lt;/STRONG&gt;.&lt;BR&gt;WebClient.BaseAddress property type became a &lt;STRONG&gt;string&lt;/STRONG&gt; instead of a Uri for desktop compatibility.&lt;BR&gt;Exception handling logic has changed.&lt;BR&gt;HttpWebRequest Delegates are changed to return on a &lt;STRONG&gt;background thread&lt;/STRONG&gt;.&lt;BR&gt;&lt;BR&gt;&lt;U&gt;&lt;STRONG&gt;New features related to WebClient and HttpWebRequest:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WebClient&lt;/STRONG&gt; API includes upload (i.e. "POST") semantics &amp;amp; request headers.&lt;BR&gt;&lt;STRONG&gt;WebClient&lt;/STRONG&gt; is callable from background threads (in addition to the UI thread).&lt;BR&gt;&lt;STRONG&gt;HttpWebRequest&lt;/STRONG&gt; delegates were changed to return on a background thread.&lt;BR&gt;&lt;STRONG&gt;HttpWebRequest &lt;/STRONG&gt;is callable on a background thread&lt;BR&gt;&lt;STRONG&gt;WebClient&lt;/STRONG&gt; and &lt;STRONG&gt;HttpWebRequest &lt;/STRONG&gt;support streaming by setting &lt;STRONG&gt;AllowReadStreamBuffering&lt;/STRONG&gt; to false.&lt;BR&gt;&lt;STRONG&gt;AsyncOperationManager&lt;/STRONG&gt; is now available to facilitate implementation of event-based components like WebClient.&lt;BR&gt;&lt;STRONG&gt;SynchronizationContext&lt;/STRONG&gt; and related classes were added for easier thread management&lt;BR&gt;&lt;STRONG&gt;WebClient&lt;/STRONG&gt; is now much more full featured..you should use this&amp;nbsp; when you want an event-based API.&lt;BR&gt;&lt;STRONG&gt;HttpWebRequest&lt;/STRONG&gt; now makes it possible to progressively read a response stream.&lt;BR&gt;&lt;STRONG&gt;WebClient&lt;/STRONG&gt; now truly enables an asynchronous calling pattern, this has been changed so that asynchronous exception results will be available, as they are on the desktop, by accessing the Result property of the callback EventArgs. A similar change occurred for HttpWebRequest.&lt;BR&gt;The type of WebClient.BaseAddress has changed from a URI to a string. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;To convert to a Uri if required:&lt;/STRONG&gt; &lt;BR&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;STRONG&gt;Uri myUri = new Uri(WebClient.BaseAddress);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Trebuch&gt;&lt;U&gt;&lt;STRONG&gt;System.XML Changes&lt;/STRONG&gt;&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;A number of public methods in System.Xml did not check arguments for null properly and threw an exception when the null argument was used. An explicit check was added for the null arguments which results in throwing ArgumentNullException instead. The following methods have the improved checking:&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;XmlReader.IsName&lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;XmlReader[null]&lt;BR&gt;XmlReader.MoveToAttribute&lt;BR&gt;XmlReader:IsNameToken&lt;BR&gt;XmlNamespaceManager constructor&lt;BR&gt;XmlReader.Create&lt;BR&gt;XmlReader.Nametable.Add&lt;BR&gt;XmlReader.Nametable.Get&lt;BR&gt;XmlCharCheckingWriter.WriteQualifiedName(null, null)&lt;BR&gt;XmlCharCheckingWriter.WriteDocType(null, null, null, null)&lt;BR&gt;XmlConvert.ToBoolean&lt;BR&gt;XmlConvert.ToDouble&lt;BR&gt;XmlConvert.ToSingle&lt;BR&gt;XmlUrlResolver.GetEntity&lt;BR&gt;XmlConvert.ToDateTime&lt;BR&gt;XmlConvert.ToBinHexString&lt;BR&gt;&lt;STRONG&gt;XmlConvert.FromBinHexString&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;BackgroundWorker moved to System.DLL&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;AsyncOperationManager&lt;STRONG&gt;&lt;EM&gt; &lt;/EM&gt;&lt;/STRONG&gt;is now also available and part of System.DLL.. Solution to this working: Just recompile the project.. It should pick up the reference location change automatically..&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;DEEP ZOOM CHANGES&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The Deep Zoom file format has been changed from a binary format (.bin) to use XML. With this change the format will match XAML style and versioning and improve internal consistency.&lt;/P&gt;
&lt;P&gt;It looks something like this:&lt;/P&gt;
&lt;P&gt;myimage.dzi (or myimage.dzc for collections) &lt;/P&gt;
&lt;P&gt;myimage_files\thumbs\0\0_0.jpg &lt;BR&gt;myimage_files\thumbs\1\0_0.jpg &lt;BR&gt;myimage_files\thumbs\2\0_0.jpg &lt;BR&gt;myimage_files\thumbs\3\0_0.jpg &lt;BR&gt;myimage_files\thumbs\3\0_1.jpg &lt;BR&gt;myimage_files\thumbs\3\1_0.jpg&lt;/P&gt;
&lt;P&gt;Code should look something like this and point to the proper image or collection:&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;STRONG&gt;MutliScaleImage msi = new MultiScaleImage(); msi.source=&lt;A href="http://bla/image.dzi"&gt;http://bla/image.dzi&lt;/A&gt;;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Tre&gt;and for the MultiScaleImageSource property it should be something like this..&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;msi.Source = new DeepZoomImageTileSource(new System.Uri("images/info.dzi")); // Or msi.Source = new YourMultiScaleTileSourceOverride();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;There are many more changes, but these are the major ones to look for there are also changes with things like cross domain policies and others I suggest you refer to the complete list over at &lt;A href="http://go.microsoft.com/fwlink/?LinkID=120655&amp;amp;clcid=0x409" target=_blank&gt;MSDN&lt;/A&gt; for further details..&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4860" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Silverlight" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight/default.aspx" /><category term="Silverlight 2" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight+2/default.aspx" /><category term="changes for Beta 2" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/changes+for+Beta+2/default.aspx" /></entry><entry><title>Silverlight Media Player Example that uses the Visual State Manager</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/19/silverlight-media-player-example-that-uses-the-visual-state-manager.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/19/silverlight-media-player-example-that-uses-the-visual-state-manager.aspx</id><published>2008-06-19T12:49:00Z</published><updated>2008-06-19T12:49:00Z</updated><content type="html">&lt;P&gt;by Don Burnett&lt;/P&gt;
&lt;P&gt;Tim Heuer has done it again, over at &lt;A href="http://timheuer.com/blog/archive/2008/06/10/updating-skinnable-media-player-using-visualstatemanager.aspx" target=_blank&gt;his blog&lt;/A&gt; there is a great example of doing a "skinnable" media player with support for beta 2 style coding and events. This is also the first example of how to use the new Visual State Manager that was introduced in beta 2 of Silverlight version 2.. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV align=center&gt;&lt;A href="http://timheuer.com/blog/archive/2008/06/10/updating-skinnable-media-player-using-visualstatemanager.aspx" target=_blank&gt;&lt;IMG style="MARGIN:5px 5px 0px;" src="http://s3.amazonaws.com/timheuer-img/sl2player1.png"&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV align=left&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4859" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Silverlight 2" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight+2/default.aspx" /><category term="Visual State Manager" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Visual+State+Manager/default.aspx" /><category term="Media Player Example" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Media+Player+Example/default.aspx" /></entry><entry><title>Helpful Hints for Developers Working with Designers</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/08/helpful-hints-for-developers-working-with-designers.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/08/helpful-hints-for-developers-working-with-designers.aspx</id><published>2008-06-08T17:26:00Z</published><updated>2008-06-08T17:26:00Z</updated><content type="html">&lt;P&gt;There are a lot of .NET developers out there with not a lot of experience doing WPF projects. This article is aimed at providing you with great information for the developer so you can be more effective on both the project and working with the designer.. There is quite a bit of information here, so I will try to break it down into usable sections that you can take advantage of. Some of this is background information but it's really important to understand these things going into the project development cycle.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Getting Started&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1) Create your projects for your designers and fellow developers in Visual Studio 2008.&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.donburnett.com/images/blog/WPFDevelopmentForDevelopersworkingtogeth_B988/targetVS2008.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=targetVS2008 src="http://www.donburnett.com/images/blog/WPFDevelopmentForDevelopersworkingtogeth_B988/targetVS2008_thumb.png" width=520 height=350&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Why do this? because the project files will be more completely set up and all the needed references will be there. This means you can easily target delivery platforms easier. Expression Studio doesn't support all deployment forms like XBAPs in WPF for instance. Also if you are targeting a ONECLICK install, projects only are available in Visual Studio for deployment.. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Version Control?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Visual Studio also works with a number of version control systems. There is a special enterprise team version of Visual Studio called&amp;nbsp; &lt;A href="http://msdn.microsoft.com/en-us/vsts2008/default.aspx" target=_blank&gt;Visual Studio Team Suite&lt;/A&gt;, that lets teams work across diverse geography and is great for larger teams. If you are working with a smaller group you might be working with &lt;A href="http://msdn.microsoft.com/en-us/vstudio/aa718670.aspx" target=_blank&gt;Visual Source Safe&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="MARGIN:5px;" align=left src="http://www.visualsvn.com/images/screenshot2.png"&gt;Another option for version control that I really like is &lt;A href="http://www.visualsvn.com/" target=_blank&gt;VisualSVN&lt;/A&gt;. This brings the &lt;A href="http://subversion.tigris.org/project_packages.html" target=_blank&gt;Subversion&lt;/A&gt; client to Visual Studio as a plug-in. Subversion is a very popular cross platform web-based source code control and management system that works on many platforms including Windows, Mac, and Linux systems. &lt;IMG align=right src="http://www.visualsvn.com/images/mainmenu-screenshot.png"&gt;It's free or nearly free for most people's use. VisualSVN works with &lt;A href="http://tortoisesvn.tigris.org/" target=_blank&gt;TortoiseSVN&lt;/A&gt; and the Subversion client for Windows rather effectively. Together you can set up your own code repository and server, that works across systems and platforms.&lt;/P&gt;
&lt;P&gt;I find this really to be an economic and working solution for most workgroups, and situations where you are working with hardware from different vendors. Because this is web-based and it's actually pretty secure, you will find this really easy to setup and work with. It's quite transparent with both Windows Explorer (when using TortoiseSVN) . If you want to know more about setting up the actual subversion server on Windows (versus some other platform). There is a great article on setup that you can read &lt;A href="http://blogs.vertigosoftware.com/teamsystem/archive/2006/01/16/Setting_up_a_Subversion_Server_under_Windows.aspx" target=_blank&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Version Control of the Project with Designers Files&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;At the moment Expression Studio doesn't come with built-in version control, but that shouldn't stop you.. You should probably let the developer/project manager be in charge of this and have them issue copies of the Visual Studio Solution Files/Projects to the designers for later check-in by the project manager. He can make sure everything gets updated correctly. For the designer keeping track of project graphical assets, they should check out Expression Media, which is designed to do just this including cataloging and version control of multiple versions of the same graphics files. In the end the designer hands off graphics that have been exported to XAML (an XML based language) to be inserted in your Visual Studio project. These files look like code.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;PHOTOSHOP? NO MORE! Illustrator or Expression Design is the way to go!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG align=right src="http://www.mikeswanson.com/xamlexport/images/Export%20Animation.gif"&gt; Lately, I have noticed a number of different folks working on WPF projects and even a few Silverlight projects who worked with an outside design shop, that supplied PSD files as assets. Unfortunately for the project manager, the designers they contracted with provided graphical assets for the UI as Photoshop PSD bitmap files instead of vector graphics. For folks working on WPF projects, using PSD files probably not the best approach. While you can insert bitmaps into projects, well they don't resize well at all and in some situations come out very fuzzy depending on the layout manager you are using on the screen. &lt;/P&gt;
&lt;P&gt;Both WPF and Silverlight were designed mainly to work with vector graphics from a structured drawing program. So instead of Adobe Photoshop, the project manager should have specified that the graphical asset deliverables be delivered from a structured drawing tool. Structured drawing scale and don't pixelize into big squares when scaled-up. &lt;/P&gt;
&lt;P&gt;If the design house you are working with is using Adobe products only, they should have created the graphics in Adobe Illustrator and used the &lt;A href="http://www.mikeswanson.com/xamlexport/" target=_blank&gt;XAML export plug-in&lt;/A&gt; to deliver the final graphical assets in XAML directly. There is also a plug-in for Adobe Fireworks, that is &lt;A href="http://www.infragistics.com/design/Fireworks_XAML_Exporter.aspx" target=_blank&gt;available&lt;/A&gt;. Interestingly enough both of these work on the Mac platform to export XAML on that platform natively as well.. So don't let anyone tell you that you can only do XAML on PC or Windows. That's a serious myth. There is even a tool for Silverlight video that works like Expression Media Encoder called &lt;A href="http://www.flip4mac.com/wmv.htm" target=_blank&gt;Flip4Mac&lt;/A&gt; that works from within QuickTime. &lt;/P&gt;
&lt;P&gt;While I am dispelling myths, most people have never heard of Expression Design in Expression Studio. I have heard some designers tell me it's not as capable as Adobe Illustrator, or other vector-based drawing programs. Well the reality of this is it's just not the case. Expression Design was originally a product that Microsoft purchased from a company called Creature House. It was originally known as &lt;A href="http://en.wikipedia.org/wiki/Creature_House_Expression" target=_blank&gt;Creature House Expression 3&lt;/A&gt;. This version was available for the Mac and PC. Before that the product at one time was known as part of the Fractal Design Painter package.. It was and is still well known as the first program to bring "Photoshop-Style" filters and painterly effects to vector graphics. So, next time you see Expression Design being talked about or used, give it the "respect" it deserves. &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2) Decide ahead of time where you are going to locate your Styling information will reside in the project...&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.donburnett.com/images/blog/WPFDevelopmentForDevelopersworkingtogeth_B988/ThemesBlend.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;MARGIN:5px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=ThemesBlend align=left src="http://www.donburnett.com/images/blog/WPFDevelopmentForDevelopersworkingtogeth_B988/ThemesBlend_thumb.png" width=336 height=484&gt;&lt;/A&gt;Will you be just using the default styles?&amp;nbsp; Do you want to style inline? On every control? Or one or more "global styles".&amp;nbsp; Do you want to style things at the "application level" ? It's very important to decide this at the start of your project. Most people who are working on an application that requires branding and identity will want to style at the "application level". This has several advantages for both designers and developers. This will allow you to "re-skin" your interface and develop more than one theme..&lt;/P&gt;
&lt;P&gt;Something to know as you begin to style your application, and this is about events and button states. Every version of Windows has a built in theme. If you are used to web development most other vendors products out there give you for instance four states that a button can have which shows a different graphic when you "Mouse Over", "MouseDown", or "Mouse Out". The Windows events model for WPF gives you way more any states and properties to interact with. It's a big advantage to developers versus other products that just do the web model because you have much more interactivity options with your users to reveal different things. If you get to know this model you will begin to appreciate it and love it for it's flexibility and mature approach.&lt;/P&gt;
&lt;P&gt;Anyway, because of Windows expanded events model,&amp;nbsp; you can have more than one event firing at time or have a multiple properties changed due to the "triggers" that have been set up for the end user.. Each version of Windows has a built-in style that can disable some of these events and properties because each built-in theme doesn't use some of these. It always isn't apparent that this is the case inside of the current version of Blend as you are working. Also, you might want to create your application so it's style looks correct no matter which version of Windows you are using.. To do this you need to set-up a themes directly that supports styling to each of these. Microsoft has already helped you with this by developing theme files that match the different versions of Windows out there (Vista, XP, Windows Classic). You can download these theme files from MSDN and include them directly in your project. &lt;/P&gt;

&lt;STRONG&gt;&lt;U&gt;THEMES DOWNLOAD&lt;/U&gt;&lt;/STRONG&gt;&lt;BR&gt;MSDN &lt;A href="http://msdn.microsoft.com/en-us/library/aa972144.aspx"&gt;Aero Theme&lt;/A&gt;, MSDN &lt;A href="http://msdn.microsoft.com/en-us/library/aa358537.aspx"&gt;Classic Theme&lt;/A&gt;, MSDN &lt;A href="http://msdn.microsoft.com/en-us/library/aa972127.aspx"&gt;Luna Theme&lt;/A&gt;, MSDN &lt;A href="http://msdn.microsoft.com/en-us/library/aa972136.aspx"&gt;Royale Theme&lt;/A&gt; 

&lt;P&gt;Styling information can reside in three places in your project and depending on how you decide to theme your projects this can be very important. It's almost a priority to decide these things before anyone sits down to code or design anything because it really will affect all aspects of your work and your ability to later go back and change things. All styling and each level (inline, application, etc.) contains a " &amp;lt;STYLE&amp;gt; &amp;lt;/STYLE&amp;gt; tag and is usually stored in a resource dictionary in WPF. At the moment there aren't resource dictionaries in Silverlight, but you can still encode the styles directly via inline methods. As time goes on Silverlight and WPF is getting similar in code and structure, so I expect at some point resource tracking and storage to get very similar, even though right now Silverlight doesn't support the full WPF methodologies. One of the cool things about Expression Blend is that most styles are editable graphically without going into the XAML code for the resource dictionary. They also provide a second set of already styled user controls called "simple styles" which you can take and use or modify for your own use. They provide this in Expression Blend along with the original controls which are called "lookless" because they have no default styling at all in WPF. Silverlight, for purposes of browser consistency provides controls that are styled to fit with the web browsers default styles that they are running from.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;It is possible to style individual controls and link them in individually into the application's main resource dictionary. I don't recommend this method however because it's inefficient, and because they are all not in one place, the application has to "touch" a lot of files while loading. However, if you are making user controls individually which is sometimes easier than creating a controls library .DLL, this method works something like this..&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;create your user control&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;UserControl x:Class="sampleControl"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml/presentation%22"&gt;&lt;FONT size=2 face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml%22"&gt;&lt;FONT size=2 face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml"&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:d="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/expression/blend/2008%22"&gt;&lt;FONT size=2 face="Courier New"&gt;http://schemas.microsoft.com/expression/blend/2008"&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height="Auto" Width="Auto"&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;... 
&lt;P&gt;&lt;STRONG&gt;add your resources section for the user control. Add the MergedDictionaries Tag and source it to whatever file contains your styles&lt;/STRONG&gt; 
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;UserControl.Resources&amp;gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ResourceDictionary&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&amp;lt;ResourceDictionary.MergedDictionaries&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ResourceDictionary Source="Simple Styles.xaml"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ResourceDictionary.MergedDictionaries&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&amp;lt;/ResourceDictionary&amp;gt;&lt;BR&gt;&amp;lt;/UserControl.Resources&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;this method works for individual controls, the best solution is probably to develop a control library (as a .DLL that can just be included in your project). There is a special project in Expression Blend to create a control library. Just remember once you are done with creation, if you include this in your project as a .DLL if you go back later to change or edit this as long as the controls aren't part of the new project and are being called from that .DLL library they can't be changed or restyled. &lt;/P&gt;
&lt;P&gt;Most WPF designers and developers really use a lot of created USER CONTROLS, so it's better to keep all of the individual user controls in the main project instead of a library. You should do this until you are completely done with coding the project so styles can be changed and things can be modified directly on the fly during development. If you don't do this you are isolating the designer and developer and changing the workflow and tying the designer's hands. Blend can't see these&amp;nbsp;or change them, if they are all not in the same project files. &amp;nbsp;You should probably only make a controls library if you aren't restyling anything or at the end of the project after you have final approvals on everything at the stage of optimization and end-user deployment. &lt;/P&gt;
&lt;P&gt;This is a big mistake that some integrators and project managers do that ties hands and makes folks have to spend hours reworking their projects. This leads us to our next big suggestion..&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3) Consider your folder structure as part of the planning and take into account the potential for changes.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Be flexible with your folder structure and hierarchy. If you don't it will come back to haunt you. account for "application level" changes, and changes you might have to do inline on individual components. Above all observe the coding style that Microsoft recommends for WPF.. Too many developers are used to trying to make their code hard to follow, so that they are in demand and no one can fix their code but their own. This works great if you are the only one developer in the entire project. At that point who would you be hiding your code from anyway?&amp;nbsp; The relationship has changed, between the designer, integrator, and developer. Both have to make things extremely readable and useable by others involved in the project.. You can't just toss things over the wall right now. &lt;/P&gt;
&lt;P&gt;Here's a for instance, lately I have seen several projects where the developer thought that he was being rather "crafty" by coding XAML in his C# code. For instance consider this XAML snippet:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;FONT size=2 face="Courier New"&gt;&amp;lt;Grid&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock x:Name="myBlock"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;You could access this textblock in code and it would look something like this (follow the named element "myBlock") :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT size=2 face="Courier New"&gt;myBlock.Text = "Hello";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myBlock.Background = Brushes.Beige;&lt;/FONT&gt; 
&lt;P&gt;While yes you can do this, it can be problematic. Especially if Blend can't recognize this code even on a build. You can have unexpected things happen and no way of telling during your debugging and unit testing why and where things are happening, and if the designer has to go in and make changes later, look out.&amp;nbsp; Make sure all of the behaviors and changes made in code is noted and can be observed or at least accounted for in the project specification.&amp;nbsp; Also Blend can't always see stuff you have done in code even after a build if you have in code made things "private". So document these situations thoroughly, if you HAVE to do it..&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4) Make sure you observe the WPF threading model so your code works expeditiously and efficiently for your end users.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Windows Presentation Foundation (WPF) is designed to save developers from the difficulties of threading. As a result, the majority of WPF developers won't have to write an interface that uses more than one thread. Because multithreaded programs are complex and difficult to debug, they should be avoided when single-threaded solutions exist. 
&lt;P&gt;WPF application use typically two threads: one for handling rendering and another for managing the UI. The UI thread queues work items inside an object called a &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx"&gt;Dispatcher&lt;/A&gt;. The &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx"&gt;Dispatcher&lt;/A&gt; selects work items on a priority basis and runs each one to completion.&amp;nbsp; Every UI thread must have at least one &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx"&gt;Dispatcher&lt;/A&gt;, and each &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx"&gt;Dispatcher&lt;/A&gt; can execute work items in exactly one thread. To build a responsive, user-friendly application. you must maximize the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx"&gt;Dispatcher&lt;/A&gt; throughput by keeping the work items small. This way items never get stale sitting in the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx"&gt;Dispatcher&lt;/A&gt; queue waiting for processing. Any perceivable delay between input and response can frustrate a user. 
&lt;P&gt;A very important reason for using a single-threaded model is to support interop with Win32, which also has thread affinity requirements.&amp;nbsp; By adopting a strict thread affinity model, WPF allows you to mix WPF, Windows Forms, and Win32 user interface elements freely within a single application. If you wish to further explore this and exploit use of the dispatcher, I recommend the following article, for further reading from Eran Kampf.. 
&lt;P&gt;&lt;A href="http://www.ekampf.com/blog/2008/03/24/DevelopingARobustDataDrivenUIUsingWPFTheDataModel.aspx"&gt;Developing a Robust Data Driven UI Using WPF - The DataModel&lt;/A&gt; 
&lt;P&gt;&lt;STRONG&gt;5) Above all never severe the lines of communication between you designers, developers, and integrators. &lt;/STRONG&gt;
&lt;P&gt;The approach has to be a unified one and since the process is more interactive than before and requires good communications with everyone on the team. You should also all attempt to standardize on the same open coding style that will make your application maintainable by others and sustain it's functionality for a good long product lifecycle. This is the answer to making your life easier. Keep each other informed. Don't write code to insulate yourself from others, instead of writing something that no one else can modify or doing something that no one else knows how it works, you'll be even in more demand the more readable it is and if it maintains the coding style integrity of your team.   
--&gt;&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4569" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Helpful Hints to staying on track" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Helpful+Hints+to+staying+on+track/default.aspx" /><category term="Developer" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Developer/default.aspx" /><category term="Designer" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Designer/default.aspx" /></entry><entry><title>Blend 2.5 June Preview Brings cool new State Management</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/07/blend-2-5-june-preview-brings-cool-new-state-management.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/07/blend-2-5-june-preview-brings-cool-new-state-management.aspx</id><published>2008-06-07T12:04:00Z</published><updated>2008-06-07T12:04:00Z</updated><content type="html">&lt;P&gt;by Don Burnett&lt;/P&gt;
&lt;P&gt;Microsoft has released the June Preview of Expression Studio's Blend program. The best new feature is the new state management tool.. It makes creating buttons and button states much easier. .. This graphic below (from &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/06/06/silverlight-2-beta2-released.aspx" target=_blank&gt;ScottGu's Blog&lt;/A&gt;) says it all.... Note this is also smart enough to handle not just the states you'd find and be familiar with as a web developer but all the extra cool things that Windows can do as well.. This update is full of features, so many cool new features that I have decided to cover them one feature at a time..&lt;/P&gt;
&lt;P&gt;Download &lt;A href="http://www.microsoft.com/silverlight/resources/install.aspx?v=2.0" target=_blank&gt;Silverlight Beta 2&lt;/A&gt; and &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=32a3e916-e681-4955-bc9f-cfba49273c7c&amp;amp;displaylang=en" target=_blank&gt;Blend 2.5 June Preview&lt;/A&gt; and &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=50A9EC01-267B-4521-B7D7-C0DBA8866434&amp;amp;displaylang=en" target=_blank&gt;Silverlight Tools&lt;/A&gt; for Visual Studio today... If you are curious what's new in Silverlight Tools, check out information about this including the new WCF templates at the &lt;A href="http://blogs.msdn.com/webdevtools/archive/2008/06/06/what-s-new-with-silverlight-tools-beta-2.aspx" target=_blank&gt;WebDevTools Blog&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step15.png"&gt;&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4545" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Blend 2.5" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Blend+2.5/default.aspx" /><category term="June Preview" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/June+Preview/default.aspx" /><category term="State Management" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/State+Management/default.aspx" /></entry><entry><title>Logging in With Silverlight</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/02/logging-in-with-silverlight.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/06/02/logging-in-with-silverlight.aspx</id><published>2008-06-02T20:59:00Z</published><updated>2008-06-02T20:59:00Z</updated><content type="html">&lt;P&gt;Over at &lt;A class="" href="http://blogs.msdn.com/brada" target=_blank&gt;Brad Abrams blog&lt;/A&gt;, he has a super article on Role based Security in Silverlight applications for those who wish to write applications that include server based authentication... The article goes in depth about using the ASP.NET server authentication services in Silverlight and branches into areas such as personalization. This is a good read for anyone implementing a web portal in silverlight as well..&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://blogs.msdn.com/brada/archive/2008/05/03/accessing-the-asp-net-authentication-profile-and-role-service-in-silverlight.aspx" target=_blank&gt;&amp;nbsp;Check it out today&lt;/A&gt;..&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4441" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Silverlight" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight/default.aspx" /><category term="Personalization" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Personalization/default.aspx" /><category term="Role-Based Authentication" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Role-Based+Authentication/default.aspx" /><category term="Security" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Security/default.aspx" /></entry><entry><title>Live From RIA Palooza..</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/30/live-from-ria-palooza.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/30/live-from-ria-palooza.aspx</id><published>2008-05-31T00:36:00Z</published><updated>2008-05-31T00:36:00Z</updated><content type="html">&lt;P&gt;Well this is my first posting from the &lt;A href="http://www.riapalooza.com/" target=_blank&gt;&lt;FONT color=#669966&gt;RIAPalooza.com&lt;/FONT&gt;&lt;/A&gt; event. It's been interesting so far getting to know the attendees of this well attended event. There are Adobe folks (Flash and Flex developers and designers), Silverlight and WPF based developers, designers and integrators. You will never hear the term "DEVIGNER" on this writer!&lt;/P&gt;
&lt;P&gt;Anyway, talking to a lot of the Flash developers, I am hearing comments like "Well I really like Silverlight and Blend but I don't know how to do something immediately like I do in Flash. Their problem being setting up a timeline in Silverlight and Blend is different than it is in Flash.. Once, you know a little about the differences you will find it just as easy and maybe offering more flexibility."&lt;/P&gt;
&lt;P&gt;So I am going to make these suggestions&amp;nbsp;aimed at the fledgling Adobe/Macromedia Developer who is starting on WPF or Silverlight....&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Suggestions:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;1) &lt;STRONG&gt;NO BITMAPS PLEASE for Blend Projects..&lt;/STRONG&gt;In asset and screen comps for a Silverlight Project... DON'T USE A BITMAP tool, that means COMPOSE in a vector tool, like Expression Design, Blend, even &lt;A href="http://www.mikeswanson.com/xamlexport/" target=_blank&gt;&lt;FONT color=#669966&gt;Adobe Illustrator&lt;/FONT&gt;&lt;/A&gt; or &lt;A href="http://www.infragistics.com/design/Fireworks_XAML_Exporter.aspx" target=_blank&gt;&lt;FONT color=#669966&gt;Fireworks CS3&lt;/FONT&gt;&lt;/A&gt;. Scaling bitmaps doesn't look as nifty as VECTOR drawings when they are opened. &lt;/P&gt;
&lt;P&gt;2) &lt;STRONG&gt;Flash timelines, don't assume a timeline works the same way&lt;/STRONG&gt;. In Flash there is usually a global timeline, not so in Blend. The events model and timelines works differently in Blend. There is a routed events model, and you can attach a timeline to any trigger of any event. It's really not much more difficult, it is just different. In WPF there are many more triggers that can fire an event than other products that use the web model. What you'll find underneath when you learn&amp;nbsp;this is that there is greater flexibility with events and what you can do and dependency properties are really cool..&lt;/P&gt;
&lt;P&gt;Okay back to the Palooza, it's a very nice crowd with Adobe and Microsoft and even generic web fans alike..&lt;/P&gt;
&lt;P&gt;Questions asked to me by attendees and answers so far:&lt;/P&gt;
&lt;P&gt;Q: &lt;STRONG&gt;What happens when Beta 1 of Silverlight 2.0&amp;nbsp;Expires ?&lt;/STRONG&gt;...I&amp;nbsp; have some&amp;nbsp;sample apps I have been working&amp;nbsp;up&amp;nbsp;on my website... &lt;/P&gt;
&lt;P&gt;"Visitors to your&amp;nbsp;site will see the install button as usual, but when they click the link, they’ll be redirected to a page that warns them that they’re about to install an outdated version of the runtime."&amp;nbsp; &lt;/P&gt;
&lt;P&gt;So port your application to the new version when it gets released... At some point after the initial change it will stop working...&lt;/P&gt;
&lt;P&gt;Q: &lt;STRONG&gt;What is a Dependency Property?&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Microsoft's Definition: " Represents a dependency property that is registered with the Windows Presentation Foundation (WPF) property system. Dependency properties provide support for value expressions, property invalidation and dependent-value coercion, default values, inheritance, data binding, animation, property change notification, and styling."&lt;/P&gt;
&lt;P&gt;Layman's Definition:&lt;/P&gt;
&lt;P&gt;Silverlight lets you create a property in an object (such as a rectangle) that derives from an&amp;nbsp;ancestor element (such as a canvas). For instance in XAML that might look like this: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;lt;Rectangle Canvas.Top="10" /&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Other vendors might also call this an attached property..&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;More to come from RIA Palooza... I am off to listen to Dave Meeker's presentation, A great look at where we have been and where we are now..&lt;BR&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4371" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="RIA" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/RIA/default.aspx" /><category term="Conference" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Conference/default.aspx" /><category term="Chicago" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Chicago/default.aspx" /><category term="RIA Palooza" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/RIA+Palooza/default.aspx" /></entry><entry><title>Using the New WPF-based Web Browser Control in .NET 3.5 SP1</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/14/using-the-new-wpf-based-web-browser-control-in-net-3-5-sp1.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/14/using-the-new-wpf-based-web-browser-control-in-net-3-5-sp1.aspx</id><published>2008-05-14T15:27:00Z</published><updated>2008-05-14T15:27:00Z</updated><content type="html">&lt;H2&gt;&lt;A href="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/UsingtheNewWPFbasedWebBrowserContro.5SP1_8317/wpfimage_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;MARGIN:1px 5px 5px 2px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=wpfimage src="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/UsingtheNewWPFbasedWebBrowserContro.5SP1_8317/wpfimage_thumb.png" width=324 height=57&gt;&lt;/A&gt;&lt;/H2&gt;
&lt;DIV class=entry&gt;
&lt;P&gt;The new service pack (.Net version 3.5 SP1) offers a great number of new controls including a new web browser control. For a long time it's been possible to add browser HTML content to WPF through either the frame control or instantiating a Winforms web browser control. The only problem is that HTML content wasn't really understood or even very easy to manipulate beyond throwing up the content in the frame. With this new release everything changes..&lt;/P&gt;
&lt;P&gt;The new WebBrowser control is very exciting for a number of reasons:&lt;/P&gt;
&lt;P&gt;It now lets you:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Interact with HTML content interactively 
&lt;LI&gt;HTML content can be hosted from a URL or&amp;nbsp; from an in-memory stream or string. 
&lt;LI&gt;You can navigate programmatically through the history, and you can now interact with any JavaScript on the page. 
&lt;LI&gt;It is a great way for WPF to host Silverlight content - just point it at the Silverlight .XAP file. 
&lt;LI&gt;It now supports partial-trust mode for use within XBAPs, allowing an XBAP to include an inline frame of HTML content that can be interacted with. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Let's look at a simple example of using the control... I call this the don browser.. I basically am going to open a Window, setup a grid add the control, include a TextBox control to use as an address bar. I will then add a button control, to pass the URI to browser that we are using to capture input of a new web address and pass it to the controller.&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/UsingtheNewWPFbasedWebBrowserContro.5SP1_8317/DonBrowserPic_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" border=0 alt=DonBrowserPic src="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/UsingtheNewWPFbasedWebBrowserContro.5SP1_8317/DonBrowserPic_thumb.png" width=478 height=480&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Let's get started..&lt;/P&gt;
&lt;P&gt;DonBrowser.XAML&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;First step create the window, and make the window resizeable.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;Window x:Class="WpfApplication1.Window1"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml/presentation%22"&gt;&lt;FONT size=2 face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml%22"&gt;&lt;FONT size=2 face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml"&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Title="Don's Blog Browser" Height="768" Width="1024" x:Name="DonBrowser" xmlns:d="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/expression/blend/2008%22"&gt;&lt;FONT size=2 face="Courier New"&gt;http://schemas.microsoft.com/expression/blend/2008"&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Courier New"&gt; xmlns:mc="&lt;/FONT&gt;&lt;A href="http://schemas.openxmlformats.org/markup-compatibility/2006%22"&gt;&lt;FONT size=2 face="Courier New"&gt;http://schemas.openxmlformats.org/markup-compatibility/2006"&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Courier New"&gt; mc:Ignorable="d" ResizeMode="CanResize"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=3&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;Add a Grid control to place the UI ELEMENTS where they need to be..&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=+0&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid.ColumnDefinitions&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ColumnDefinition Width="0.683*"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ColumnDefinition Width="0.152*"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ColumnDefinition Width="0.165*"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4 face=Arial&gt;&lt;STRONG&gt;Now add the WPF WebBrowser Control..&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&amp;lt;WebBrowser Margin="0,49,0,21" x:Name="webBrowser1" Grid.ColumnSpan="3" Source="&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://blog.donburnett.com%22/"&gt;&lt;FONT size=2 face="Courier New"&gt;http://blog.donburnett.com"&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Courier New"&gt; HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled" MaxLines="1"/&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=3 face=Arial&gt;&lt;STRONG&gt;Now add a TextBox control so we can place it in the status bar..&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;TextBox Height="23.48" x:Name="textBox1" Margin="102,15,0,0" VerticalAlignment="Top" AcceptsReturn="True" FontSize="12" Grid.ColumnSpan="2" Text="&lt;/FONT&gt;&lt;A href="http://blog.donburnett.com%22/"&gt;&lt;FONT size=2 face="Courier New"&gt;http://blog.donburnett.com"&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face="Courier New"&gt; HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled" MaxLines="1"/&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT size=3 face=Arial&gt;Now add a button so we can pass the new URI into the source property of the new web browser control and sent the content property to "GO", and set the Click event to "button1_Click" so we can pass this new uri through code for the event handler..&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Height="31" HorizontalAlignment="Right" Margin="0,7.48,30,0" x:Name="button1" VerticalAlignment="Top" Width="52" Click="button1_Click" Grid.Column="2" Content="Go"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3 face=Arial&gt;&lt;STRONG&gt;Add in the TextBlock to label the address bar..&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Height="23.48" HorizontalAlignment="Left" Margin="16,18,0,0" x:Name="textBlock1" VerticalAlignment="Top" Width="86" Text="&amp;nbsp;&amp;nbsp;&amp;nbsp; Address Bar:" IsEnabled="False" IsHitTestVisible="False" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3 face=Arial&gt;&lt;STRONG&gt;Add the StatusBar to the bottom of the window..&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;StatusBar VerticalAlignment="Bottom" Height="21" Grid.ColumnSpan="3"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=+0&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;&lt;FONT face=Arial&gt;Add a StatusBarItem control to the StatusBar control and databind the content to the textBox1 element we defined earlier and close the StatusBar control..&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp; &amp;lt;StatusBarItem Width="969" Height="22" Content="{Binding Path=Text, ElementName=textBox1, Mode=Default}" ContentStringFormat="{Binding Path=Source.Host, ElementName=webBrowser1, Mode=Default}" ScrollViewer.VerticalScrollBarVisibility="Disabled" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" VerticalAlignment="Bottom"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/StatusBar&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;Add a resizing grip..&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT face="Courier New"&gt;&amp;lt;ResizeGrip HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="30" Height="30" Grid.Column="2" ScrollViewer.VerticalScrollBarVisibility="Disabled"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Close the Grid and Window and we are done..&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT size=3&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;/Grid&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;/Window&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;DonBrowser Code-Behind File..&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Do the usual references that are required..&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;using System;&lt;BR&gt;using System.Collections.Generic;&lt;BR&gt;using System.Linq;&lt;BR&gt;using System.Text;&lt;BR&gt;using System.Windows;&lt;BR&gt;using System.Windows.Controls;&lt;BR&gt;using System.Windows.Data;&lt;BR&gt;using System.Windows.Documents;&lt;BR&gt;using System.Windows.Input;&lt;BR&gt;using System.Windows.Media;&lt;BR&gt;using System.Windows.Media.Imaging;&lt;BR&gt;using System.Windows.Navigation;&lt;BR&gt;using System.Windows.Shapes; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;namespace WpfApplication1&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Interaction logic for Window1.xaml&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Window1 : Window&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Do the usual InitializeComponent that is required..&lt;/STRONG&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Window1()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Add the button1_Click event code that creates a new URI and pulls the content from textBox1..&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void button1_Click(object sender, RoutedEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uri myUri = new Uri(textBox1.Text);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Do the usual references that are required. Pass the Uri (MyURI) to the WebBrowser1 source property. &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.webBrowser1.Source =&amp;nbsp; myUri;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note since the StatusBar item is set to the value of textBox1.text via a dependency property we don't have to do anything to it. It changes when the content of the textBox1.text property changes ( you might want that only to happen on the actual button click in real life after the web browser control had notified you that something was loaded.&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4199" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="WPF" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/WPF/default.aspx" /><category term="WPF Controls" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/WPF+Controls/default.aspx" /><category term="Web Browser" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Web+Browser/default.aspx" /><category term="New Functionality" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/New+Functionality/default.aspx" /><category term="WPF 3.5 SP1" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/WPF+3.5+SP1/default.aspx" /></entry><entry><title>Digital Video In-Stream Ad Format &amp; Best Practices Guidelines for Digital Video Advertising</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/13/digital-video-in-stream-ad-format-best-practices-guidelines-for-digital-video-advertising.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/13/digital-video-in-stream-ad-format-best-practices-guidelines-for-digital-video-advertising.aspx</id><published>2008-05-14T02:29:00Z</published><updated>2008-05-14T02:29:00Z</updated><content type="html">&lt;DIV class=entry&gt;
&lt;P&gt;News from over at CCarper's&amp;nbsp;&lt;A href="http://silverlightbiz.blogspot.com/2008/05/silverlight-and-advertising-guidelines.html" target=_blank&gt;Business of Silverlight Blog&lt;/A&gt; I learned:&lt;/P&gt;
&lt;P&gt;"The &lt;A href="http://www.businesswire.com/portal/site/google/?ndmViewId=news_view&amp;amp;newsId=20080505005751&amp;amp;newsLang=en"&gt;&lt;FONT color=#99aadd&gt;Interactive Advertising Bureau (&lt;SPAN id=SPELLING_ERROR_0 class=blsp-spelling-error&gt;IAB&lt;/SPAN&gt;)&lt;/FONT&gt;&lt;/A&gt; on Monday announced the release of “Digital Video In-Stream Ad Format &amp;amp; Best Practices Guidelines" for Digital Video Advertising. The &lt;SPAN id=SPELLING_ERROR_1 class=blsp-spelling-error&gt;IAB&lt;/SPAN&gt; and it's sub group the Digital Video Committee is a group of 145 companies that have created a set of guidelines and best practices for integrating Digital Video Ad's online. These guidelines support the most common types of ads and &lt;SPAN id=SPELLING_ERROR_2 class=blsp-spelling-corrected&gt;supersede&lt;/SPAN&gt; the 2005 recommendations which included:&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Linear video ads 
&lt;LI&gt;Non-linear video ads 
&lt;LI&gt;Companion ads &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This is really exciting for us because they now include &lt;SPAN id=SPELLING_ERROR_3 class=blsp-spelling-corrected&gt;recommendations&lt;/SPAN&gt; and best practices for the use of &lt;SPAN id=SPELLING_ERROR_4 class=blsp-spelling-error&gt;Silverlight&lt;/SPAN&gt; (.&lt;SPAN id=SPELLING_ERROR_5 class=blsp-spelling-error&gt;xap&lt;/SPAN&gt;) as an approved format for advertising online.."&lt;/P&gt;
&lt;P&gt;Wow this is big news, that means good things for the future of Silverlight in Digital Video Advertising. Silverlight's streaming format is now an APPROVED format by the IAB. This is huge news. Especially since .XAP's only appear in Silverlight 2.0 which is still publicly in beta version 1.0.&lt;/P&gt;
&lt;P&gt;The .XAP format is a serious win for Silverlight Video Streaming and Microsoft. Considering the IAB and just around 145 companies have recognized this as a standard format, it means great things for Silverlight. It definitely has a bright future in digital advertising. It took an extemely long time for the competition to get recognized at all. Seeing this organization and body of companies support .XAP as a standard is a great thing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4194" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="standardization" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/standardization/default.aspx" /><category term="IAB" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/IAB/default.aspx" /><category term="Digital Video Advertising" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Digital+Video+Advertising/default.aspx" /><category term=".XAP" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/.XAP/default.aspx" /><category term="Silverlight 2" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight+2/default.aspx" /></entry><entry><title>Microsoft Health's New Common User Interface Controls and Initiatives</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/08/microsoft-health-s-new-common-user-interface-controls-and-initiatives.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/08/microsoft-health-s-new-common-user-interface-controls-and-initiatives.aspx</id><published>2008-05-08T12:35:00Z</published><updated>2008-05-08T12:35:00Z</updated><content type="html">&lt;DIV class=entry&gt;
&lt;P&gt;by Don Burnett &lt;/P&gt;
&lt;H3&gt;Microsoft Health Launch New Site for HealthCare Designers, and releases Common User Interface Controls for both Silverlight and WPF&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://www.mscui.net/Default.aspx"&gt;&lt;IMG alt=MicrosoftHealth1 src="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/MicrosoftHealthsNewCommonUserInterfaceCo_7404/MicrosoftHealth1_5.png" width=488 height=305&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From &lt;A href="http://www.mscui.net/Default.aspx" target=_blank&gt;the site&lt;/A&gt;: "The Microsoft Health Common User Interface (CUI) provides User Interface Design Guidance and Toolkit controls that address a wide range of patient safety concerns for healthcare organizations worldwide, allowing a new generation of safer, more usable and compelling health applications to be quickly and easily created. &lt;/P&gt;
&lt;P&gt;This site is aimed at user interface designers, application developers and patient safety experts who want to find out more about the benefits of a standardized approach to user interface design. 
&lt;P&gt;With the Microsoft Health CUI you can: 
&lt;UL&gt;
&lt;LI&gt;Interactively browse and download our published &lt;A href="http://www.mscui.net/DesignGuide/DesignGuide.aspx"&gt;Design Guidance&lt;/A&gt; documents 
&lt;LI&gt;Interact with our on-line implementations of the &lt;A href="http://www.mscui.net/ControlsAndSamples.aspx"&gt;Toolkit controls and samples&lt;/A&gt; that conform to the Design Guidance 
&lt;LI&gt;&lt;A href="http://www.codeplex.com/mscui/Release/ProjectReleases.aspx"&gt;Download&lt;/A&gt; and install the Toolkit controls for use in Microsoft Visual Studio 
&lt;LI&gt;View our new &lt;A href="http://www.mscui.net/Showcase/Showcase.aspx"&gt;Showcase&lt;/A&gt;, which shows how the adoption of the Design Guidance has benefited clinical application and healthcare providers through testimonials, and provides practical and innovative scenarios through demonstrators 
&lt;LI&gt;Visit the &lt;A href="http://www.mscui.net/Roadmap/Roadmap.aspx"&gt;Roadmap&lt;/A&gt;, to learn about the CUI program schedule, the architecture of the Toolkit controls, and the delivery lifecycle used to create the Design Guidance, Toolkit controls and samples."&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;&lt;A href="http://www.codeplex.com/mscui/license" target=_blank&gt;Controls Available on Codeplex for WPF and Silverlight Under Microsoft Public License&lt;/A&gt;&lt;/H3&gt;
&lt;P&gt;Patient safety is a critical issue for healthcare organizations worldwide. Microsoft has been working with the &lt;A href="http://www.nhs.uk/Pages/homepage.aspx"&gt;National Health Service (NHS)&lt;/A&gt; in England to improve patient safety by creating a common look and feel for NHS systems through the NHS Common User Interface (CUI) Program. This partnership initiative is in conjunction with the UK government agency called &lt;A href="http://www.connectingforhealth.nhs.uk/"&gt;NHS Connecting for Health&lt;/A&gt;. Microsoft is now publishing the Design Guidance produced through this collaboration and providing the healthcare community with access to the associated &lt;A href="http://www.mscui.net/ControlsAndSamples.aspx" target=_blank&gt;Toolkit controls&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;For designers, the same WPF and Silverlight controls were developed from the same source, and styling is consistent. &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/MicrosoftHealthsNewCommonUserInterfaceCo_7404/MicrosoftHealth2_2.png"&gt;&lt;IMG alt=MicrosoftHealth2 src="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/MicrosoftHealthsNewCommonUserInterfaceCo_7404/MicrosoftHealth2_thumb.png" width=525 height=328&gt;&lt;/A&gt; 
&lt;H3&gt;Microsoft Patient Journey Demonstrator (coming soon..)&lt;/H3&gt;
&lt;P&gt;The Patient Journey Demonstrator conceptualizes an end-to-end journey where a specific clinical scenario is used to illustrate how an integrated, patient-centric care record can transition seamlessly between care settings. It demonstrates how data can be accessed and entered from many of the care sources experienced along the patient journey. 
&lt;P&gt;In this scenario, a man with suspected heart disease is examined by his family doctor. Using decision support tools, his doctor decides that the best course of action is to refer him for further tests. The scenario then tracks the activities that take place from the initial consultation through secondary care to an Angiogram. 
&lt;P&gt;&lt;A href="http://www.mscui.net/PatientJourneyDemonstrator/" target=_blank&gt;&lt;IMG alt=MicrosoftHealth3 src="http://donburnett.com/NewBlog/files/media/image/WindowsLiveWriter/MicrosoftHealthsNewCommonUserInterfaceCo_7404/MicrosoftHealth3_3.png" width=521 height=420&gt;&lt;/A&gt; 
&lt;P&gt;Pretty exciting news, a toolkit with common user interface controls that work on both Windows platform applications and the web using Silverlight for healthcare.. &lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4117" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="WPF Controls" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/WPF+Controls/default.aspx" /><category term="NHS-Microsoft Partnership" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/NHS-Microsoft+Partnership/default.aspx" /><category term="Silverlight Controls" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight+Controls/default.aspx" /><category term="Health Care" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Health+Care/default.aspx" /></entry><entry><title>Microsoft Expression Studio 2 Ships, Advancing Superior Developer and Designer Collaboration</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/05/microsoft-expression-studio-2-ships-advancing-superior-developer-and-designer-collaboration.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/05/05/microsoft-expression-studio-2-ships-advancing-superior-developer-and-designer-collaboration.aspx</id><published>2008-05-05T14:47:00Z</published><updated>2008-05-05T14:47:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://www.microsoft.com/presspass/press/2008/may08/05-01Expression2PR.mspx"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;http://www.microsoft.com/presspass/press/2008/may08/05-01Expression2PR.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="MARGIN-LEFT:15px;" class="" cellSpacing=0 cellPadding=0 align=right&gt;

&lt;TR&gt;
&lt;TD class=""&gt;
&lt;DIV class=sidebarHeader&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style="PADDING-RIGHT:1px;PADDING-LEFT:1px;PADDING-BOTTOM:0px;WIDTH:165px;PADDING-TOP:0px;" class=sidebarContent&gt;
&lt;DIV class=sidebarClass&gt;
&lt;H5 class=sidebar&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Related Links&lt;/FONT&gt;&lt;/H5&gt;
&lt;H6&gt;&lt;FONT size=2 face=arial,helvetica,sans-serif&gt;Microsoft Resources:&lt;/FONT&gt;&lt;/H6&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/expression"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Microsoft Expression Web site&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/expression/features"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Microsoft Expression Features Web site&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/expression/products/ProfessionalSubscription.aspx"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Microsoft Expression Professional Subscription Web site&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/presspass/gallery/screenshots/developer.mspx"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Image Gallery: Developer Tools Screenshots&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;
&lt;H6&gt;&lt;FONT size=2 face=arial,helvetica,sans-serif&gt;Other Resources:&lt;/FONT&gt;&lt;/H6&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;A href="http://www.totaltraining.com/expression2"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Total Training Expression 2 Video Web site&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=sidebarFooter&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;B&gt;REDMOND, Wash. — May 1, 2008 — &lt;/B&gt;Microsoft Corp. today delivered on its commitment to rapid innovation for the newest Microsoft platforms and latest Web technologies by announcing the release of Expression Studio 2.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;The suite of professional design tools includes Expression Web 2, Expression Blend 2, Expression Design 2, Expression Media 2 and Expression Encoder 2 and works seamlessly with Visual Studio 2005 and Visual Studio 2008, solving the age-old designer and developer workflow challenge. The innovations in Extensible Application Markup Language (XAML), used by both Expression Studio and Visual Studio, allow for unprecedented designer-developer collaboration for the creation of both standards-based and Microsoft Silverlight-enhanced Web experiences as well as Windows Vista and .NET Framework 3.5 client applications.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="FLOAT:left;WIDTH:150px;BORDER-COLLAPSE:collapse;" id=ctl13_tblImage class="" cellSpacing=0 cellPadding=0&gt;

&lt;TR id=ctl13_trImage&gt;
&lt;TD style="PADDING-RIGHT:10px;PADDING-LEFT:0px;PADDING-BOTTOM:0px;PADDING-TOP:10px;" id=ctl13_tdImage class="" align=middle&gt;&lt;A title="Geotagging with Virtual Earth: Take advantage of geotagged images with Virtual Earth integration." href="http://www.microsoft.com/presspass/images/gallery/screenshots/DevTools/ProPhoto/xMediaVE_lg.jpg"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" title="Geotagging with Virtual Earth: Take advantage of geotagged images with Virtual Earth integration." alt="Geotagging with Virtual Earth: Take advantage of geotagged images with Virtual Earth integration." src="http://www.microsoft.com/presspass/images/gallery/screenshots/DevTools/ProPhoto/xMediaVE_sm.jpg"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="PADDING-RIGHT:10px;PADDING-LEFT:0px;PADDING-BOTTOM:0px;PADDING-TOP:0px;" id=ctl13_tdCaption class=figureCaption align=middle class="figureCaption"&gt;&lt;B&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Geotagging with Virtual Earth: Take advantage of geotagged images with Virtual Earth integration.&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="PADDING-RIGHT:10px;PADDING-LEFT:0px;PADDING-BOTTOM:10px;PADDING-TOP:0px;" id=ctl13_tdSubCaptions class=downloadCaption align=middle class="downloadCaption"&gt;&lt;A href="http://www.microsoft.com/presspass/gallery/screenshots/developer.mspx"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;View more high-res screen shots.&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=arial,helvetica,sans-serif&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;In line with the team’s commitment to short release cycles, Expression Studio 2 is coming to market one year after the last release with major updates to each product. The products together contain more than 100 new features and introduce new Microsoft Silverlight functionality for creating stunning cross-browser, cross-platform Web experiences. Key features include the following:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;B&gt;Expression Web 2&lt;/B&gt; adds support for PHP and Adobe Photoshop import based on customer feedback.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;B&gt;Expression Blend 2,&lt;/B&gt; in addition to Silverlight support, adds vertex animation and an improved user interface with a new split design/XAML view. &lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;B&gt;Expression Design 2&lt;/B&gt; adds improved exporting functionality including the ability to export slices. &lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;B&gt;Expression Media 2&lt;/B&gt; is a robust digital asset management solution for photographers and other creative professionals. It adds support for the latest file formats including RAW, provides geotagging functionality, and is supported by Microsoft Office 2007 and Microsoft Office for Mac 2008. &lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=listBullet class="listBullet"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;•&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=listItem class="listItem"&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;B&gt;Expression Encoder 2&lt;/B&gt; is now a core offering of the suite. It allows creative and Web professionals to optimize almost any type of video content quickly for publishing on the Web, either in streaming video, rich-media advertising or other Web 2.0 projects. &lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;This groundbreaking release brings creative professionals fully into the application development process, accelerating time to market, minimizing resource use and improving return on investment for new projects. A full overview of features is available at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/expression/features"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;http://www.microsoft.com/expression/features&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;“The release of Expression Studio 2 flies in formation with the latest platform releases such as Silverlight and Windows Presentation Foundation and is a very exciting milestone for the industry,” said Eric Zocher, general manager for Expression Studio at Microsoft. “Great user experience is at the heart and soul of our Expression family of tools and is fundamental to enabling developers and designers to collaborate on building and delivering dynamic, connected applications that help customers achieve results.”&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Millions of customers and partners such as Conchango PLC, 2ndFACTORY Co. Ltd, Design To Business (d2B), Infusion Development, and Pink and Yellow Media are beginning to experience the newfound power of Expression Studio and delivering rich, connected client and Web applications based on Windows Presentation Foundation, Microsoft Silverlight and Microsoft ASP.NET AJAX.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;“The release of Expression Studio 2 signifies some major advancements in the way that designers and developers work together, which is enabling us to realize much more of our vision, and to do it more efficiently,” said Paul Dawson, head of experience at Conchango. “In addition, the increased connectedness between Visual Studio 2008 and Expression Studio is really beneficial. XAML is now where we live out that collaboration, which is giving us efficiencies in the design and development process of somewhere in the region of 20 percent to 30 percent, meaning our customers get much better branded user experiences, more reliable and robust code, in a shorter time frame and for a better cost.”&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Pricing and Availability&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Microsoft also unveiled final product pricing and availability for the complete Expression 2 product family. Interested customers can purchase the entire studio from leading retailers such as Amazon.com and Best Buy starting in mid-May for $699 estimated retail price (ERP) (U.S.). In addition, all of the tools except Expression Design 2 are available as stand-alone products: Expression Blend 2 is available for $499 ERP (U.S.), Expression Web 2 is available for $299 ERP (U.S.), Expression Media 2 for $199 ERP (U.S), and Expression Encoder 2 for $199 ERP (U.S.). Microsoft also offers several upgrade options for existing Expression users and companion upgrades to Expression Web and Expression Media from a range of software titles by other vendors, including Adobe Systems Inc. All Expression products for English-speaking markets will include a getting-started video training courtesy of Total Training Inc. Comprehensive video training will be available for purchase separately at &lt;/FONT&gt;&lt;A href="http://www.totaltraining.com/expression2"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;http://www.totaltraining.com/expression2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;As announced at MIX08, Microsoft also is introducing the Microsoft Expression Professional Subscription in June 2008, which includes the full suite along with a number of other Microsoft programs* such as Visual Studio, Windows Vista and Microsoft Office to help users get started at an exceptional value of $999 ERP (U.S). More information about the subscription is available at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/expression/subscription"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;http://www.microsoft.com/expression/subscription&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Full product pricing and availability information is available at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/expression"&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;http://www.microsoft.com/expression&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;Founded in 1975, Microsoft (Nasdaq “MSFT”) is the worldwide leader in software, services and solutions that help people and businesses realize their full potential.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=4079" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Expression Studio 2" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Expression+Studio+2/default.aspx" /><category term="Expression Studio Release" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Expression+Studio+Release/default.aspx" /></entry><entry><title>Exploring LINQ, SQLMetal and SqlTac Article Makes Creating a Data Access Layer Easy</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniques/archive/2008/04/02/exploring-linq-sqlmetal-and-sqltac-article-makes-creating-a-data-access-layer-easy.aspx" /><id>http://phizzpop.visitmix.com/blogs/techniques/archive/2008/04/02/exploring-linq-sqlmetal-and-sqltac-article-makes-creating-a-data-access-layer-easy.aspx</id><published>2008-04-02T14:01:00Z</published><updated>2008-04-02T14:01:00Z</updated><content type="html">&lt;P&gt;Over at &lt;A class="" href="http://www.simple-talk.com/dotnet/.net-tools/exploring-linq,-sqlmetal-and-sqltac/" target=_blank&gt;Simple-Talk.com&lt;/A&gt;, &lt;A id=ctl00_MainContent_lnkAuthor href="http://www.simple-talk.com/author/steven-r.-mccabe/"&gt;Steven R. McCabe&lt;/A&gt;&amp;nbsp;has a great article about working with LINQ and using it to create a DAL/Entity layer for your application. There is no mention of Silverlight or WPF, but the article talks about things such as CRUD (Create, Read, Update, Delete) operations with LINQ and explains the subject very well with code examples. While some of it is from CTP previews (which you no longer need because it's been released), the explanation of the subject is well worth the read. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;There have been quite a few people blogging and doing LINQtoSQL with Silverlight Tutorials lately but nothing that shows how to do operations in LINQ that you'd need for a real application. This article fills in those gaps nicely..&lt;/P&gt;&lt;img src="http://phizzpop.visitmix.com/aggbug.aspx?PostID=3346" width="1" height="1"&gt;</content><author><name>Don Burnett</name><uri>http://phizzpop.visitmix.com/members/Don+Burnett.aspx</uri></author><category term="Silverlight" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Silverlight/default.aspx" /><category term="LINQ" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/LINQ/default.aspx" /><category term="LINQtoSQL" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/LINQtoSQL/default.aspx" /><category term="Entities" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/Entities/default.aspx" /><category term="DAL" scheme="http://phizzpop.visitmix.com/blogs/techniques/archive/tags/DAL/default.aspx" /></entry><entry><title>Kris.Net (Kris Vandermotten) Explores Linq</title><link rel="alternate" type="text/html" href="http://phizzpop.visitmix.com/blogs/techniq