<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>laurenlavoie.com &#187; Avalon</title>
	<atom:link href="http://laurenlavoie.com/category/avalon/feed" rel="self" type="application/rss+xml" />
	<link>http://laurenlavoie.com</link>
	<description>A blog</description>
	<lastBuildDate>Sun, 29 Aug 2010 17:51:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Happy 0th Birthday, Windows Vista!</title>
		<link>http://laurenlavoie.com/avalon/202</link>
		<comments>http://laurenlavoie.com/avalon/202#comments</comments>
		<pubDate>Wed, 31 Jan 2007 05:38:20 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=202</guid>
		<description><![CDATA[Mail from Kenny&#8217;s cousin David this morning: From: Pashman, DavidSent: Tuesday, January 30, 2007 5:58 AMTo: Kenny Wolf; Lauren LavoieSubject: congratulations Are congratulations in order for the birth of your new baby OS? Yes, I suppose you could say that Kenny and I (and the thousands of other folks who shipped Windows Vista) released our [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>Mail from Kenny&#8217;s cousin David this morning:</p>
<blockquote><p><b>From:</b> Pashman, David<br /><b>Sent:</b> Tuesday, January 30, 2007 5:58 AM<br /><b>To:</b> Kenny Wolf; Lauren Lavoie<br /><b>Subject:</b> congratulations</p>
<p>Are congratulations in order for the birth of your new baby OS?</p>
</blockquote>
<p>Yes, I suppose you could say that Kenny and I (and the thousands of other folks who shipped <a href="http://www.microsoft.com/windows/products/windowsvista/default.mspx">Windows Vista</a>) released our own little baby into the world today. I think she has a bright future ahead of her. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/202/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF/E First CTP</title>
		<link>http://laurenlavoie.com/avalon/191</link>
		<comments>http://laurenlavoie.com/avalon/191#comments</comments>
		<pubDate>Mon, 04 Dec 2006 18:36:27 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=191</guid>
		<description><![CDATA[This morning, the WPF/E team shipped their first CTP! You can now&#160;download the plugin for Windows and Mac. Check out the WPF/E MSDN Developer Center to get started and&#160;Channel 9 WPF/E Playground for samples. The following blogs have more info: Joe Stegman&#160;(WPF/E lead PM) Mike Harsh&#160;(WPF/E PM) Somasegar&#160;(DevDiv VP; Soma also announces the release of [...]]]></description>
			<content:encoded><![CDATA[<p>This morning, the WPF/E team shipped their first CTP! You can now&nbsp;download the plugin for <a href="http://go.microsoft.com/fwlink/?LinkID=77792&amp;clcid=0x409">Windows</a> and <a href="http://go.microsoft.com/fwlink/?LinkID=77793&amp;clcid=0x409">Mac</a>. Check out the <a href="http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx">WPF/E MSDN Developer Center</a> to get started and&nbsp;<a href="http://channel9.msdn.com/playground/wpfe">Channel 9 WPF/E Playground</a> for samples. The following blogs have more info:</p>
<ul>
<li><a href="http://blogs.msdn.com/jstegman/archive/2006/12/04/in-with-the-new.aspx">Joe Stegman</a>&nbsp;(WPF/E lead PM)</li>
<li><a href="http://blogs.msdn.com/mharsh/archive/2006/12/04/welcome-to-the-wpf-e-december-ctp.aspx">Mike Harsh</a>&nbsp;(WPF/E PM)</li>
<li><a href="http://blogs.msdn.com/somasegar/archive/2006/12/04/a-key-milestone-on-the-user-experience-journey.aspx">Somasegar</a>&nbsp;(DevDiv VP; Soma also announces the release of <a href="http://www.microsoft.com/products/expression/en/Expression-Web/default.mspx">Expression Web</a>)</li>
</ul>
<p>Congrats to the WPF/E team and enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/191/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>We Shipped!!!</title>
		<link>http://laurenlavoie.com/avalon/177</link>
		<comments>http://laurenlavoie.com/avalon/177#comments</comments>
		<pubDate>Tue, 07 Nov 2006 21:24:07 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=177</guid>
		<description><![CDATA[Get .Net Framework 3.0 here.]]></description>
			<content:encoded><![CDATA[<p>Get .Net Framework 3.0 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&#038;displaylang=en">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/177/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SW vs. HW Performance for Layered Windows</title>
		<link>http://laurenlavoie.com/avalon/173</link>
		<comments>http://laurenlavoie.com/avalon/173#comments</comments>
		<pubDate>Thu, 26 Oct 2006 18:13:43 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=173</guid>
		<description><![CDATA[Seema has a good post explaining why software rendering is sometimes faster than hardware rendering for layered windows. In short, your software vs. hardware performance will depend on your specific video card. Seema suggests: Key takeaway: a semi-transparent window is a particularly complex feature for WPF&#8217;s rendering system. Figure out early what type of hardware [...]]]></description>
			<content:encoded><![CDATA[<p>Seema has a good <a href="http://blogs.msdn.com/seema/archive/2006/10/25/layered-windows-sw-is-sometimes-faster-than-hw.aspx">post</a> explaining why software rendering is sometimes faster than hardware rendering for layered windows. In short, your software vs. hardware performance will depend on your specific video card. Seema suggests:</p>
<blockquote><p>Key takeaway: a semi-transparent window is a particularly complex feature for WPF&#8217;s rendering system. Figure out early what type of hardware that you expect your app to run on, the performance that is acceptable for your users, and whether you want to use Window transparency. </p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/173/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clearification</title>
		<link>http://laurenlavoie.com/avalon/172</link>
		<comments>http://laurenlavoie.com/avalon/172#comments</comments>
		<pubDate>Wed, 04 Oct 2006 20:53:20 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=172</guid>
		<description><![CDATA[My friend and co-worker Hamid just pointed me to Clearification.com, a very interesting new joint project from the Windows Vista team and Demetri Martin. It hosts a series of episodes that tell the story of Demetri&#8217;s &#8220;condition,&#8221; and presumably how he overcomes it. Only the first episode is available now, but the others are all [...]]]></description>
			<content:encoded><![CDATA[<p>My friend and co-worker Hamid just pointed me to <a href="http://www.clearification.com/">Clearification.com</a>, a very interesting new joint project from the Windows Vista team and <a href="http://www.demetrimartin.com/">Demetri Martin</a>. It hosts a series of episodes that tell the story of Demetri&#8217;s &#8220;condition,&#8221; and presumably how he overcomes it. Only the first episode is available now, but the others are all &#8220;coming soon.&#8221; The site publishes a <a href="http://www.clearification.com/rss/">feed</a> so that you can keep up to date on new additions, and of course, so that you can watch those new episodes as soon as they are posted. It seems pretty cool so far, I&#8217;d definitely recommend checking it out.</p>
<p><a href="http://clearification.com"><img src="http://laurenlavoie.com/wp-images/upload/clearification.jpg"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/172/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vista Newsflash</title>
		<link>http://laurenlavoie.com/avalon/171</link>
		<comments>http://laurenlavoie.com/avalon/171#comments</comments>
		<pubDate>Wed, 04 Oct 2006 17:44:45 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=171</guid>
		<description><![CDATA[I liked this AP headline today: Microsoft&#8217;s Vista May Arrive on Time. If the AP is starting to have confidence, we must be ready. ;)]]></description>
			<content:encoded><![CDATA[<p>I liked this AP headline today: <a href="http://news.moneycentral.msn.com/ticker/article.asp?Feed=AP&#038;Date=20061004&#038;ID=6076513&#038;Symbol=US:MSFT">Microsoft&#8217;s Vista May Arrive on Time</a>. If the AP is starting to have confidence, we must be ready. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/171/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Architects Blogging Like Crazy</title>
		<link>http://laurenlavoie.com/avalon/169</link>
		<comments>http://laurenlavoie.com/avalon/169#comments</comments>
		<pubDate>Wed, 27 Sep 2006 04:19:29 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=169</guid>
		<description><![CDATA[Two of our architects, Mike Hillberg and Rob Relyea,&#160;blogged up a storm while I was gone. There is a great wealth of information on both of their blogs, and I am learning a lot about WPF by reading them. I&#8217;m especially impressed that Mike has only been blogging for 12 days and has already contributed [...]]]></description>
			<content:encoded><![CDATA[<p>Two of our architects, <a href="http://blogs.msdn.com/mikehillberg/default.aspx">Mike Hillberg</a> and <a href="http://rrelyea.spaces.live.com/">Rob Relyea</a>,&nbsp;blogged up a storm while I was gone. There is a great wealth of information on both of their blogs, and I am learning a lot about WPF by reading them. I&#8217;m especially impressed that Mike has only been blogging for 12 days and has already contributed an incredible amount of information to the WPF blogosphere. And I really like Rob&#8217;s new periodic round-up of WPF news and blog articles. It&#8217;s good stuff, check it out!</p>
<p>I guess we really have transitioned into ship mode if our architects have this much time to blog. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/169/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No HW Acceleration for Layered Windows on XP</title>
		<link>http://laurenlavoie.com/avalon/168</link>
		<comments>http://laurenlavoie.com/avalon/168#comments</comments>
		<pubDate>Wed, 27 Sep 2006 00:06:35 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=168</guid>
		<description><![CDATA[While I was on vacation, Seema blogged that WPF will not have hardware acceleration for layered windows on Windows XP. Nick elaborates a bit to explain that while we did once have partial support for this, it was unreliable and sometimes slower than software rendering. Rest assured that hardware acceleration is still there for Vista. [...]]]></description>
			<content:encoded><![CDATA[<p>While I was on vacation, Seema <a href="http://blogs.msdn.com/seema/archive/2006/09/18/761314.aspx">blogged</a> that WPF will not have hardware acceleration for layered windows on Windows XP. Nick <a href="http://blogs.msdn.com/nickkramer/archive/2006/09/20/763037.aspx">elaborates</a> a bit to explain that while we did once have partial support for this, it was unreliable and sometimes slower than software rendering. Rest assured that hardware acceleration is still there for Vista. If you have any questions, Seema is the expert.</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/168/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Controls Retain Their State when You Navigate Away</title>
		<link>http://laurenlavoie.com/avalon/167</link>
		<comments>http://laurenlavoie.com/avalon/167#comments</comments>
		<pubDate>Tue, 26 Sep 2006 22:55:42 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=167</guid>
		<description><![CDATA[Over on Bea&#8217;s excellent blog, Sam asked a great&#160;question about&#160;how&#160;controls retain their&#160;state when you navigate away from a page: This got nothing to do with threads, sorry for intruding, but I don&#8217;t know where to ask this question (managed newsgroups provide no answer) When you navigate back in a browser-like WPF application, the pages are [...]]]></description>
			<content:encoded><![CDATA[<p>Over on Bea&#8217;s <a href="http://www.beacosta.com/">excellent blog</a>, <a href="http://www.radeldudel.de/">Sam</a> asked a great&nbsp;<a href="http://www.blogger.com/comment.g?blogID=13207701&amp;postID=115899770868226424">question</a> about&nbsp;how&nbsp;controls retain their&nbsp;state when you navigate away from a page:</p>
<blockquote><p>This got nothing to do with threads, sorry for intruding, but I don&#8217;t know where to ask this question (managed newsgroups provide no answer)</p>
<p>When you navigate back in a browser-like WPF application, the pages are re-created (at least the constructor is called).</p>
<p>And somehow, magically, the content for Textbox(es) in the page will be filled with whatever had been in there when the page had been left.</p>
<p>Since the page is created anew on navigating &#8216;Back&#8217;, where does this content come from? Is it bound to some kind of session storage as default?</p>
<p>And how do I get my own values back (as content for Listboxes for example are lost on navigating)?</p>
<p>thanks, Sam!</p>
</blockquote>
<p>First of all, Sam, I am sorry that no one answered your newsgroup question. I just returned from a long vacation and I hope that this delayed response is still helpful.</p>
<p>Understanding how control state is retained requires a bit of knowledge of how &#8220;journaling&#8221; works. Journaling is the mechanism for keeping track of the user&#8217;s navigation history &#8211; the &#8220;Journal&#8221; is an internal data structure which consists, among other things, of a ForwardStack and BackStack (these stacks are exposed on <a href="http://windowssdk.msdn.microsoft.com/en-us/library/system.windows.controls.frame.aspx">Frame</a> and <a href="http://windowssdk.msdn.microsoft.com/en-gb/library/system.windows.navigation.navigationwindow(en-us).aspx">NavigationWindow</a>). As a user navigates through a set of pages (say by clicking on Hyperlinks that point to other pages), <a href="http://windowssdk.msdn.microsoft.com/en-gb/library/ms607059.aspx">JournalEntries</a> are added to the BackStack. Specifically, a BackStack entry for a page&nbsp;is added upon navigating <em>away</em> from&nbsp;the page.&nbsp;If the user clicks on the back button, a few things happen:&nbsp;a JournalEntry is popped off the BackStack,&nbsp;the page it represents is rehydrated, the&nbsp;framework navigates to the rehydrated page,&nbsp;and a JournalEntry for the current page is created and added to the ForwardStack. If a user initiates a new navigation, the forward stack is cleared.</p>
<p>This system is modeled after how navigation works in all popular web browsers today, and you will notice that WPF navigation works the same way that navigation works in Internet Explorer, for example.</p>
<p>There are two main ways that JournalEntries are created, depending on what is being journaled (and also on the value of the KeepAlive property, which I will discuss in a moment):</p>
<ol>
<li><strong>By URI:</strong> If you navigate to a XAML page via its source URI (e.g. page1.xaml), and then navigate away from it, the page is stored simply by creating a new JournalEntry that&nbsp;stores the URI for that page (the <a href="http://windowssdk.msdn.microsoft.com/en-gb/library/system.windows.navigation.journalentry.source.aspx">JournalEntry.Source</a> property is used for this purpose). Navigating back to the page simply requires the framework to get the Source and navigate to it.</li>
<li><strong>By object:</strong> If you navigate to an object rather than a XAML page (e.g. by creating an object tree programmatically and calling Navigate(object content)), and then navigate away from it, we cannot journal by URI because there is no URI (!). In this case, the object tree is kept alive and a reference to the tree is stored&nbsp;in its JournalEntry. Navigating back to the page involves re-attaching the saved tree as the Content of the Frame or NavigationWindow.</li>
</ol>
<p>The default behavior for journaling pages that have URIs is by URI, but this can be overridden by setting <a href="http://windowssdk.msdn.microsoft.com/en-us/library/system.windows.navigation.journalentry.keepalive.aspx">JournalEntry.KeepAlive</a> (which is an attached DP) if desired. Keep in mind that there are working set implications when you use KeepAlive, because the whole page really is kept alive in memory. URI JournalEntries are, of course, smaller.</p>
<p>At this point, it is probably obvious to you that when we journal &#8220;by object,&#8221; storing the user-modified state of controls (like TextBoxes and RadioButtons) is trivial: because the whole tree is kept alive, there is no additional work to do. When we journal by URI, we traverse the tree and look for controls that have properties which should be journaled. We store these property values in the JournalEntry along with the source URI for the page. We know which properties should be journaled because they have set the <a href="http://windowssdk.msdn.microsoft.com/en-us/library/system.windows.frameworkpropertymetadataoptions.aspx">FrameworkPropertyMetadataOptions.Journal</a> flag. Also note that we will ignore&nbsp;controls which do not have the <a href="http://windowssdk.msdn.microsoft.com/en-us/library/system.windows.uielement.persistid.aspx">PersistId</a> property set.&nbsp;When a page is rehydrated from a JournalEntry, we navigate to the JournalEntry.Source URI and we apply all of the deltas to control state that we have stored in the Journal.</p>
<p>In general, controls whose state may be changed via user interaction maintain their state across navigations (there are notable exceptions, like PasswordBox). When authoring custom controls, you should consider whether or not your controls have state that may be modified via user interaction, and if they can, then you should usually mark those properties with FrameworkPropertyMetadataOptions.Journal and set the PersistId. If your control stores sensitive data like a password or credit card number, you will likely <em>not</em> want that state to be journaled.</p>
<p>Sam, I did not understand the last part of your question, about ListBox. Could you elaborate or send me an example of some source code that is not behaving as expected?</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/167/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Windows Vista RC1</title>
		<link>http://laurenlavoie.com/avalon/166</link>
		<comments>http://laurenlavoie.com/avalon/166#comments</comments>
		<pubDate>Tue, 26 Sep 2006 17:41:19 +0000</pubDate>
		<dc:creator>lauren</dc:creator>
				<category><![CDATA[Avalon]]></category>

		<guid isPermaLink="false">http://laurenlavoie.com/?p=166</guid>
		<description><![CDATA[I have the RC1 build of Windows Vista running on an old-ish machine at work &#8211; the machine has 512 MB of RAM, which means that my Windows Experience Index is a measly 2.9. Given that, I was pleasantly surprised to find that the OS is quite zippy, and not to mention extremely fun to [...]]]></description>
			<content:encoded><![CDATA[<p>I have the RC1 build of Windows Vista running on an old-ish machine at work &#8211; the machine has 512 MB of RAM, which means that my Windows Experience Index is a measly 2.9. Given that, I was pleasantly surprised to find that the OS is quite zippy, and not to mention extremely fun to use! It&#8217;s very exciting to see how much the performance and polish are improving with every build. You can download RC1 from <a href="http://download.windowsvista.com/preview/rc1/en/download.htm">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://laurenlavoie.com/avalon/166/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

