<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
  <channel>
    <title>LearnWPF.com - Goodbye battleship-grey</title>
    <link>http://LearnWPF.com/</link>
    <description>LearnWPF.com - Goodbye battleship-grey</description>
    <image>
      <url>http://learnwpf.com/Images/logo_80px.gif</url>
      <title>LearnWPF.com - Goodbye battleship-grey</title>
      <link>http://LearnWPF.com/</link>
    </image>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>Adding Simeltaneous Video Recording + Playback to WPFMediaKit's VideoCaptureElement</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=82c12bbc-8b25-437a-8334-def8675f81b3</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=82c12bbc-8b25-437a-8334-def8675f81b3</link>
      <description>
		&lt;p&gt;When it comes to awesome WPF + DirectX video hacks it's &lt;span id="dnn_ctr1111_ContentPane" class="DNNAlignleft"&gt;&lt;span id="dnn_ctr1111_MainView_ViewBlog_lblAuthor" class="blog_Description"&gt;&lt;a href="http://jmorrill.hjtcentral.com/"&gt;Jeremiah Morrill's&lt;/a&gt; world, we're just living in it. One of his great contributions to the WPF ecosystem is the &lt;a href="http://wpfmediakit.codeplex.com/"&gt;WPF Media Kit&lt;/a&gt; which adds DVD playback, webcam playback and a number of other capabilities to WPF. One slight deficiency with the webcam control (VideoCaptureElement) is that it doesn't allow simeltaneous recording and display of webcam content....until now!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;This &lt;a href="/Data/Images/WPFMediaKit_withWebcamCapture.zip"&gt;code&lt;/a&gt; adds simeltaneous video playback and capture to the VideoCaptureElement. VideoCaptureElement gets a "OutputFileName" property which is used to specify where the webcam output will be saved. If this property isn't set then the control functions as before, just showing webcam playback. Most of the changes are in VideoCapturePlayer (VideoCaptureElement is really only a WPF-ized wrapper around VideoCapturePlayer). I've left a copy of the un-modified version of VideoCapturePlayer.cs in the same directory (called VideoCapturePlayer_old.cs) for those who want to look at the differences for themselves, but the main part is where we check to see if the fileName field has been set and if so set up the relevant properties. &lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;
								&lt;font color="#ffa500" size="2" face="Courier New"&gt;IBaseFilter mux = null;&lt;br /&gt;IFileSinkFilter sink = null;&lt;br /&gt;if (!string.IsNullOrEmpty(this.fileName))&lt;br /&gt;{&lt;br /&gt;    hr = graphBuilder.SetOutputFileName(MediaSubType.Asf, this.fileName, out mux, out sink);&lt;br /&gt;    DsError.ThrowExceptionForHR(hr);&lt;/font&gt;
						&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;
								&lt;font color="#ffa500" size="2" face="Courier New"&gt;    hr = graphBuilder.RenderStream(PinCategory.Capture, MediaType.Video, m_captureDevice, null, mux);&lt;br /&gt;    DsError.ThrowExceptionForHR(hr);&lt;/font&gt;
						&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;
								&lt;font color="#ffa500" size="2" face="Courier New"&gt;    &lt;font color="#9acd32"&gt;// use the first audio device&lt;/font&gt;&lt;br /&gt;    var audioDevices = DsDevice.GetDevicesOfCat(FilterCategory.AudioInputDevice);&lt;/font&gt;
						&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;
								&lt;font color="#ffa500" size="2" face="Courier New"&gt;    if (audioDevices.Length &amp;gt; 0)&lt;br /&gt;    {&lt;br /&gt;        var audioDevice = AddFilterByDevicePath(m_graph,&lt;br /&gt;                                            FilterCategory.AudioInputDevice,&lt;br /&gt;                                            audioDevices[0].DevicePath);&lt;/font&gt;
						&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;
								&lt;font color="#ffa500" size="2" face="Courier New"&gt;        hr = graphBuilder.RenderStream(PinCategory.Capture, MediaType.Audio, audioDevice, null, mux);&lt;br /&gt;        DsError.ThrowExceptionForHR(hr);&lt;br /&gt;    }&lt;br /&gt;}&lt;/font&gt;
						&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;
								&lt;font color="#ffa500" size="2" face="Courier New"&gt;hr = graphBuilder.RenderStream(PinCategory.Preview,&lt;br /&gt;                               MediaType.Video,&lt;br /&gt;                               m_captureDevice,&lt;br /&gt;                               null,&lt;br /&gt;                               m_renderer);&lt;/font&gt;
								&lt;br /&gt;
						&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;The last call to RenderStream() uses a PinCategory of Preview which allows the display of video, the previous calls to RenderStream() were using the Capture pin category, which causes the media to be written to disk. I've updated the sample application that accompanies WPFMediaKit to default to the "webcam sample" screen, and to save the webcam output as a randomly named .wmv file to the "my documents" folder.&lt;/span&gt; &lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;This code is very much proof-of-concept, and I'm concerned about leaks in there, but it does work. One limitation is that the file name can't be set after the graph has been set up, but this seems to be a common limitation with properties on the capture device - to change them you have to re-create the graph.&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;span class="DNNAlignleft"&gt;
						&lt;span class="blog_Description"&gt;In any case I hope you find this &lt;a href="/data/images/WPFMediaKit_withWebcamCapture.zip"&gt;code&lt;/a&gt; useful, and I'll be offering it up to Jeremiah for consideration as a patch to WPFMediaKit.&lt;/span&gt;
				&lt;/span&gt;
		&lt;/p&gt;
</description>
      <pubDate>Saturday, January 09, 2010 11:46 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=82c12bbc-8b25-437a-8334-def8675f81b3#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=82c12bbc-8b25-437a-8334-def8675f81b3#Feedback</comments>
      <slash:comments>3</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=82c12bbc-8b25-437a-8334-def8675f81b3</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>Free Embeddable Fonts for your WPF Applications</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=d577efe7-20d4-4eb7-9839-b1b789526c9b</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=d577efe7-20d4-4eb7-9839-b1b789526c9b</link>
      <description>
		&lt;p&gt;Using attractive typefaces can add individuality to your application, or reinforce your brand. Although we talked about the means to embed WPF fonts in your application a&lt;a href="/Posts/Post.aspx?postId=f6e15729-9391-4e71-ad1f-eea8b22b05bf"&gt; long time ago&lt;/a&gt;, the biggest issue with font embedding is the licensing issues associated with fonts, especially if you’re working on a code sample or free utility. Most fonts, even the multitude that you can download for free online, are not licensed to allow redistribution as part of your application.&lt;/p&gt;
		&lt;p&gt;Fortunately a small group of fonts has started to be released under a much more permissive license – &lt;a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;amp;id=OFL"&gt;the SIL Open Font License (OFL)&lt;/a&gt; - which specifically allows embedding in applications, both commercial, free and open-source (disclaimer: I am not a lawyer, you should read the license yourself and/or seek legal advice before making any decisions regarding font licensing). This is a very generous move on the part of these type designers who spend considerable time and skill on designing beautiful fonts.&lt;br /&gt;&lt;img border="0" hspace="0" alt="" align="baseline" src="/Data/Images/OFLFonts.png" /&gt;&lt;/p&gt;
		&lt;p&gt;Here is a sample application that uses some of my favourite of OFL-licensed fonts from around the web including &lt;a href="http://www.campivisivi.net/titillium/?page_id=2"&gt;Titillium&lt;/a&gt;, &lt;a href="http://www.theleagueofmoveabletype.com/fonts/8-goudy-bookletter-1911"&gt;Goudy Bookletter 1911&lt;/a&gt;, and &lt;a href="http://www.theleagueofmoveabletype.com/fonts/1-junction"&gt;Junction&lt;/a&gt;. Great resources for finding new fonts with the OFL license is the &lt;a href="http://openfontlibrary.org/media/tags/OFL"&gt;Open Font Library&lt;/a&gt; and &lt;a href="http://www.theleagueofmoveabletype.com/"&gt;the League of Movable Type&lt;/a&gt;.&lt;/p&gt;
		&lt;p&gt;
				&lt;a href="/Data/Images/OpenFontLicenseSample.zip"&gt;download source [413 KB] (including fonts!)&lt;/a&gt;
		&lt;/p&gt;
		&lt;p&gt;From a programming point-of-view it pays to remember &lt;a href="http://msdn.microsoft.com/en-us/library/ms753303.aspx"&gt;this trick from the MSDN&lt;/a&gt; for finding the names of embedded fonts. Sometimes the name is not apparent from the file name OR from the info you see in the "Install Font" dialog in windows. Instead you can programatically iterate through the installed fonts using this snippet of code.&lt;/p&gt;
		&lt;p&gt;
				&lt;font color="#9acd32" size="2" face="Courier New"&gt;// iterates over embedded fonts - assumes you have fonts in a sub-directory called "Fonts" in the project in visual studio&lt;/font&gt;
				&lt;br /&gt;
				&lt;font color="#ffa500" size="2" face="Courier New"&gt;foreach (var fontFamily in Fonts.GetFontFamilies(new Uri("pack://application:,,,/"), "./Fonts/"))&lt;br /&gt;{&lt;br /&gt;    &lt;font color="#9acd32"&gt;// do stuff with fonts here&lt;/font&gt;&lt;br /&gt;}&lt;/font&gt;
		&lt;/p&gt;
</description>
      <pubDate>Monday, November 23, 2009 10:24 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=d577efe7-20d4-4eb7-9839-b1b789526c9b#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=d577efe7-20d4-4eb7-9839-b1b789526c9b#Feedback</comments>
      <slash:comments>49</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=d577efe7-20d4-4eb7-9839-b1b789526c9b</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>.NET Framework 4.0 Solves the Single Biggest Problem with WPF Development</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=6899ba7a-5ff7-4f56-a85d-a5a7bc76337f</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=6899ba7a-5ff7-4f56-a85d-a5a7bc76337f</link>
      <description>
		&lt;p&gt;.NET Framework 4.0 solves the single biggest problem with WPF development - The size of the .NET framework redistributable. The full redistributable for the x86 version of the .NET framework weighs in at a svelte 37.71 MB, and the cut-down client profile (that should be suitable for many WPF client applications) is just under 31 MB! For 64-bit platforms (x64 and ia64) the full redistributable are about 55 MB each. They both have the x86 bits included also so x86 .NET applications can run in the WoW. You can get all the details here (including what is in and out of the client profile, how to target etc &lt;a href="http://blogs.msdn.com/jgoldb/archive/2009/10/19/what-s-new-in-net-framework-4-client-profile-beta-2.aspx"&gt;here&lt;/a&gt;). Compared to the 230 MB for the full redistributable for .NET Framework 3.5 sp1 this is a welcome relief. Whatever techniques the .NET framework team have learned putting silverlight on an extreme diet have paid off here too. Lets hope this minification of the framework continues into the RTM version.&lt;/p&gt;
</description>
      <pubDate>Wednesday, October 21, 2009 10:09 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=6899ba7a-5ff7-4f56-a85d-a5a7bc76337f#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=6899ba7a-5ff7-4f56-a85d-a5a7bc76337f#Feedback</comments>
      <slash:comments>46</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=6899ba7a-5ff7-4f56-a85d-a5a7bc76337f</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>The Visual Guide to WPF Font Weights</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=eeeb2c93-f87c-48de-99a5-a736c72efeed</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=eeeb2c93-f87c-48de-99a5-a736c72efeed</link>
      <description>
		&lt;p&gt;Have you ever wondered what the difference between DemiBold and SemiBold text is? (the answer: not a whole lot). Have you ever wanted to go beyond "Normal" and "Bold" in your font weight selections? If so then this post is for you.&lt;/p&gt;
		&lt;p&gt;The following shows the different font weights (both names and numeric values) for the default UI font in Windows 7 and Windows Vista - Segoe UI at 24pt.&lt;/p&gt;
		&lt;p&gt;
				&lt;img border="0" hspace="0" alt="Segoe UI Font Weights" align="baseline" src="/Data/Images/FontWeights.png" /&gt;
		&lt;/p&gt;
		&lt;p&gt;We can immediately see that Segoe UI supports a variety of weights, but why does 'Thin' (supposedly at 100-weight) look the same as 'Light' (300-weight)? The answer is the font itself - it only supports 4 different weights. Switching to Calibri we can see that it contains only two different weights.&lt;/p&gt;
		&lt;p&gt;
				&lt;img border="0" hspace="0" alt="Calibri Font Weights" align="baseline" src="/Data/Images/CalibriFontWeights.png" /&gt;
		&lt;/p&gt;
		&lt;p&gt;The moral of the story is that WPF provides great typographic support for different font weights, but not all fonts will support all weights. Here is the XAML code to play around with different font families.&lt;/p&gt;
		&lt;p&gt;
				&lt;font size="2"&gt;
						&lt;font color="#ffa500" face="Courier New"&gt;&amp;lt;Page&lt;br /&gt;  xmlns="&lt;/font&gt;
						&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;
								&lt;font color="#ffa500" face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/font&gt;
						&lt;/a&gt;
						&lt;font color="#ffa500" face="Courier New"&gt;"&lt;br /&gt;  xmlns:x="&lt;/font&gt;
						&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;
								&lt;font color="#ffa500" face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/font&gt;
						&lt;/a&gt;
						&lt;font color="#ffa500" face="Courier New"&gt;"&amp;gt;&lt;br /&gt;  &amp;lt;Page.Resources&amp;gt;&lt;br /&gt;    &amp;lt;Style TargetType="{x:Type TextBlock}"&amp;gt;&lt;br /&gt;      &amp;lt;Setter Property="FontFamily" Value="Calibri" /&amp;gt;&lt;br /&gt;      &amp;lt;Setter Property="Margin" Value="5" /&amp;gt;&lt;br /&gt;      &amp;lt;Setter Property="FontSize" Value="24" /&amp;gt;&lt;br /&gt;    &amp;lt;/Style&amp;gt;&lt;br /&gt;  &amp;lt;/Page.Resources&amp;gt;&lt;br /&gt;  &amp;lt;StackPanel &amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Thin"  Text="Jackdaws love my big sphinx of quartz - Thin - 100" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="UltraLight"  Text="Jackdaws love my big sphinx of quartz - UltraLight - 200" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="ExtraLight"  Text="Jackdaws love my big sphinx of quartz - ExtraLight - 200" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Light"  Text="Jackdaws love my big sphinx of quartz - Light - 300" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Normal"  Text="Jackdaws love my big sphinx of quartz - Normal - 400" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Regular"  Text="Jackdaws love my big sphinx of quartz - Regular - 400" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Medium"  Text="Jackdaws love my big sphinx of quartz - Medium - 500" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="DemiBold"  Text="Jackdaws love my big sphinx of quartz - DemiBold - 600" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="SemiBold"  Text="Jackdaws love my big sphinx of quartz - SemiBold - 600" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Bold"  Text="Jackdaws love my big sphinx of quartz - Bold - 700" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="UltraBold"  Text="Jackdaws love my big sphinx of quartz - UltraBold - 800" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="ExtraBold"  Text="Jackdaws love my big sphinx of quartz - ExtraBold - 800" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Heavy"  Text="Jackdaws love my big sphinx of quartz - Heavy - 900" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="Black"  Text="Jackdaws love my big sphinx of quartz - Black - 900" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="ExtraBlack"  Text="Jackdaws love my big sphinx of quartz - ExtraBlack - 950" /&amp;gt;&lt;br /&gt;&amp;lt;TextBlock FontWeight="UltraBlack"  Text="Jackdaws love my big sphinx of quartz - UltraBlack - 950" /&amp;gt;&lt;br /&gt;  &amp;lt;/StackPanel&amp;gt;&lt;br /&gt;&amp;lt;/Page&amp;gt;&lt;/font&gt;
				&lt;/font&gt;
		&lt;/p&gt;
</description>
      <pubDate>Tuesday, October 06, 2009 11:29 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=eeeb2c93-f87c-48de-99a5-a736c72efeed#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=eeeb2c93-f87c-48de-99a5-a736c72efeed#Feedback</comments>
      <slash:comments>32</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=eeeb2c93-f87c-48de-99a5-a736c72efeed</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>Round Gel-like button template for WPF</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=ef73ce54-ca51-4719-91b5-1ed7a4ebeca2</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=ef73ce54-ca51-4719-91b5-1ed7a4ebeca2</link>
      <description>I keep re-creating this from time to time, so I thought I would put it up for others to use. This is a very simple style for rounded gel-like buttons (shown here magnified 3x, but the style works OK for buttons of various sizes). The left-most one is the "normal" style, the middle one is mouse-over and focused, and the right one is disabled. These are great with a slider to create "zoom" type controls, or for play/pause buttons etc.
&lt;br /&gt;&lt;img src="/Data/Images/gelbuttons.png" /&gt;&lt;br /&gt;&lt;a href="/Data/Images/roundgelbuttonStyle.xaml"&gt;Source Xaml&lt;/a&gt;</description>
      <pubDate>Monday, April 27, 2009 10:08 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=ef73ce54-ca51-4719-91b5-1ed7a4ebeca2#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=ef73ce54-ca51-4719-91b5-1ed7a4ebeca2#Feedback</comments>
      <slash:comments>41</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=ef73ce54-ca51-4719-91b5-1ed7a4ebeca2</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>Where are the default templates for FlowDocumentScrollViewer located?</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=c0a14f40-8ce3-45f6-9b1f-5fd573b9b98f</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=c0a14f40-8ce3-45f6-9b1f-5fd573b9b98f</link>
      <description>Most controls in WPF are "look-less" and have no default rendering. Instead there are a number of "templates" that are applied by WPF. The control template is chosen by WPF, and can be over-ridden by the developer. In the absence of any developer intervention a default template is loaded from a resource assembly corresponding to the operating system that the application runs on (PresentationFramework.Aero.dll for windows vista styles and control templates, PresentationFramework.Luna.dll for windows XP etc). I was puzzled to learn that FlowDocumentScrollViewer and a number of other "document" type controls like FlowDocumentReader do NOT have control templates in these "theme" dlls. So where are they? It turns out they are stored in another ancilliary WPF dll called PresentationUI.dll in the themes/generic.baml resource. This dll also contains the "progress" download and error templates for XBAP applications.  </description>
      <pubDate>Wednesday, April 22, 2009 12:54 AM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=c0a14f40-8ce3-45f6-9b1f-5fd573b9b98f#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=c0a14f40-8ce3-45f6-9b1f-5fd573b9b98f#Feedback</comments>
      <slash:comments>67</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=c0a14f40-8ce3-45f6-9b1f-5fd573b9b98f</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>Composite Application Guidance for WPF and Silverlight Released</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=6bad4b90-d03f-43b8-93a2-370e64000321</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=6bad4b90-d03f-43b8-93a2-370e64000321</link>
      <description>I'm not sure if I missed the memo, but P&amp;amp;P's Composite Application Guidance for WPF (formerly PRISM) is now live for Silverlight too (AKA PRISM V2)! Download it &lt;a href="http://msdn.microsoft.com/en-us/library/dd458809.aspx"&gt;here&lt;/a&gt;.</description>
      <pubDate>Wednesday, February 18, 2009 3:51 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=6bad4b90-d03f-43b8-93a2-370e64000321#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=6bad4b90-d03f-43b8-93a2-370e64000321#Feedback</comments>
      <slash:comments>60</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=6bad4b90-d03f-43b8-93a2-370e64000321</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>Free reuxables WPF Theme - Paperlite available for a limited time</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=dd2af66c-822a-40f2-b391-559534d2afe4</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=dd2af66c-822a-40f2-b391-559534d2afe4</link>
      <description>Fellow WPF MVP &lt;a href="http://blog.nukeation.com/default.aspx"&gt;Dax Pandhi&lt;/a&gt;'s company nukeation has a &lt;a href="http://reuxables.nukeation.com/themePaperLite.aspx"&gt;free WPF theme called paperlite available for a "limited time"&lt;/a&gt;.&lt;img src="/Data/Images/paperlite.png" /&gt;.&lt;br /&gt; Their new &lt;a href="http://reuxables.nukeation.com/uxkits.aspx"&gt;ux kit&lt;/a&gt; (code-named "Alpha Dog") not-free looks fantastic. </description>
      <pubDate>Tuesday, February 17, 2009 12:11 AM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=dd2af66c-822a-40f2-b391-559534d2afe4#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=dd2af66c-822a-40f2-b391-559534d2afe4#Feedback</comments>
      <slash:comments>43</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=dd2af66c-822a-40f2-b391-559534d2afe4</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>New Window Chrome Materials - a not-too-serious look into the future</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=4bc0f6e6-2f67-4882-9515-3a4957f1d4d5</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=4bc0f6e6-2f67-4882-9515-3a4957f1d4d5</link>
      <description>Some time around 2004 apple began using a &lt;a href="http://daringfireball.net/2004/10/brushedmetal"&gt;"brushed metal" look for some of the windows in OSX&lt;/a&gt;. In late 2006 Microsoft released Vista with its &lt;a href="http://en.wikipedia.org/wiki/Windows_Aero"&gt;Aero Glass window chrome&lt;/a&gt;. Going further back we had a chiseled grey look-and-feel in many windowing systems (chiseled and grey implying stone?). Taking into account the obvious trend where window chrome is styled after real-world building materials, we confidenty predict that wood will be the substance of the future for mainstream operating systems. Agonising conversations regarding timber finishes and preferences that had previously been relegated to only the real world can now spill over into the computer one. Would you like a mahogany title bar and rosewood buttons? Would you like us to dove-tail the corners of the windows to make them stronger? The folks over at the WPF SDK blog have already given a &lt;a href="http://blogs.msdn.com/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx"&gt;great overview of current window chrome approaches&lt;/a&gt;. For ultimate window chrome customization I like &lt;a href="http://blog.pixelingene.com/"&gt;Pavan Podila's&lt;/a&gt; [edit: fixed typo in Pavan's name]&lt;a href="http://www.codeplex.com/fluidkit"&gt;Fluidkit&lt;/a&gt; which contains the very useful "GlassWindow" style-able window control, and used it to create this beautifully finished window with a mahogany titlebar, trimmed with brushed silver and given a satin finish for the discerning computer user.&lt;br /&gt;&lt;img src="/Data/Images/woodWindow3.jpg" /&gt;&lt;br /&gt;Or for the younger users there is this more european window style with a plantation pine title bar.&lt;br /&gt;&lt;img src="/Data/Images/woodWindow4.jpg" /&gt;.&lt;br /&gt; You can download the source &lt;a href="/Data/Images/MaterialWindows.zip"&gt;here&lt;/a&gt; and build more of these windows for yourself. I used &lt;a href="http://www.spiralgraphics.biz/ww_overview.htm"&gt;Wood Workshop&lt;/a&gt; from Spiral Graphics to create the textures. Later this week I'm hoping to bring you another hot tip for window chrome futures - this time with an emphasis on lightweight performance - yes, you guess it! Carbon-fibre window chrome!</description>
      <pubDate>Sunday, January 18, 2009 1:03 AM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=4bc0f6e6-2f67-4882-9515-3a4957f1d4d5#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=4bc0f6e6-2f67-4882-9515-3a4957f1d4d5#Feedback</comments>
      <slash:comments>43</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=4bc0f6e6-2f67-4882-9515-3a4957f1d4d5</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>WPF - A Year in Review</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=69538fb4-a190-4e88-ba89-b1c3df2d1977</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=69538fb4-a190-4e88-ba89-b1c3df2d1977</link>
      <description>
		&lt;p&gt;
				&lt;strong&gt;.NET Framework 3.5 SP1&lt;/strong&gt; – The most significant thing on the WPF landscape in 2008 was .NET framework 3.5 SP1, released in September 2008. While service packs are traditionally about bug fixes and performance tweaks this release was a little different for the WPF team, as they added new features such as data template recycling, DirectX integration improvements like Direct3DImage, new controls like the WebBrowser control, a slew of performance improvements and changes to the application model and deployment. The most visible change was the addition of &lt;a href="http://blogs.msdn.com/greg_schechter/archive/2008/05/09/a-series-on-gpu-based-effects-for-wpf.aspx"&gt;programmable pixel-shader support&lt;/a&gt;, a replacement for the slow software-rendered BitmapEffects which were often responsible for WPF performance issues. The &lt;a href="http://blogs.msdn.com/rscc/archive/2008/10/22/wpf-sources-for-net-framework-3-5-sp1-are-available.aspx"&gt;release of the public symbols for .NET 3.5 SP1&lt;/a&gt; in October 2008 means you can “step thru” the framework code during your debugging session, which is extremely useful.   &lt;/p&gt;
		&lt;p&gt;
				&lt;strong&gt;Silverlight 2.0 and the Rise of Silverlight&lt;/strong&gt; – Silverlight Version 2, which bears a much stronger similarity to WPF than v1 did, was released in October 2008. At around a 4MB download (including a mini CLR and .NET framework stack) it has only a fraction of the features of its older sibling WPF, but the team did a great job balancing size vs. usefulness, and you can do a heck of a lot with what they put into those 4MB. Due to its small size and cross-platform nature Silverlight has seen a much sharper adoption curve than WPF, and a huge amount of community interest. We are now in the interesting position of having features such as the Silverlight Datagrid and stuff from the Silverlight Control Toolkit being “back-ported” to WPF. Announcement such as &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/11/16/update-on-silverlight-2-and-a-glimpse-of-silverlight-3.aspx"&gt;this one from Scott Guthrie&lt;/a&gt; telling of 3D hardware acceleration coming in Silverlight 3.0 (due in beta some time in 2009), and speculation around additional off-line capabilities to compete with Adobe AIR mean that Silverlight will continue to be very hot for 2009.  &lt;/p&gt;
		&lt;p&gt;
				&lt;strong&gt;MVC, MVP and MVVM&lt;/strong&gt; – This year the consensus amongst a number of WPF proponents seemed to solidify around the Model-View-ViewModel pattern, a slightly different twist on the Model-View-Controller (MVC) and Model-View-Presenter (MVP) patterns. MVVM (originally &lt;a href="http://blogs.msdn.com/johngossman/archive/2005/10/08/478683.aspx"&gt;described here&lt;/a&gt; by then-blend architect John Gossman) leverages WPF’s great data binding support to improve the testability of presentation-specific business logic, and creation of ultra-thin Window and Control-derived classes. Microsoft Patterns and Practices also released their &lt;a href="http://www.codeplex.com/CompositeWPF"&gt;composite guidance for WPF&lt;/a&gt; (formerly known as PRISM) to help customers build maintainable WPF applications.&lt;/p&gt;
		&lt;p&gt;
				&lt;strong&gt;Improved Tooling&lt;/strong&gt; – in addition to improvements to the “core” WPF development/design tools with service packs for Visual Studio 2008 and Expression Blend 2, 2008 saw a number of tools and utilities from the WPF community come into their own, such as &lt;a href="http://kaxaml.com/"&gt;Robbie Ingerbretsen’s Kaxaml&lt;/a&gt;, &lt;a href="http://karlshifflett.wordpress.com/mole-for-visual-studio/"&gt;Karl Shifflet’s MOLE&lt;/a&gt; and &lt;a href="http://joshsmithonwpf.wordpress.com/cracknet/"&gt;Josh Smith’s Crack&lt;/a&gt; and Pixel Shader editing tool &lt;a href="http://shazzam-tool.com/"&gt;Shazzam&lt;/a&gt; by &lt;a href="http://wpfwonderland.wordpress.com/"&gt;Walt Ritscher&lt;/a&gt;. Microsoft also released an update of the WPF performance toolkit, and ETW tracing tool XPerf (which can be used for both Silverlight and WPF, in addition to many other things).&lt;/p&gt;
		&lt;p&gt;
				&lt;strong&gt;The Future&lt;/strong&gt; – One of the best signs for a continuing bright future for WPF was the &lt;a href="http://blogs.msdn.com/ricom/archive/2008/11/18/the-visual-studio-tech-roadmap-starring-visual-studio-2010.aspx"&gt;announcement&lt;/a&gt; that dev10 (Visual Studio 2010) will use WPF for a number of elements in the Visual Studio shell including one of the most key features – the text editor itself. Developer division’s internal “dog-fooding” of WPF will ensure it gets important attention in performance tuning and extensibility areas. PDC 2008 saw some discussion of a roadmap for WPF in the PC46 talk, but I found this one a bit lack-lustre. There were also some &lt;a href="http://blogs.windowsclient.net/rob_relyea/archive/2008/09/30/pdc08-xaml-talk.aspx"&gt;announcements regarding further improvements to the XAML language&lt;/a&gt;.&lt;/p&gt;
		&lt;p&gt;Overall I think 2008 was a great year for WPF as a platform, and I can’t wait to see what the future has in store for us. What were your big milestones for WPF in 2008?&lt;br /&gt;&lt;/p&gt;
</description>
      <pubDate>Thursday, January 01, 2009 10:52 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=69538fb4-a190-4e88-ba89-b1c3df2d1977#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=69538fb4-a190-4e88-ba89-b1c3df2d1977#Feedback</comments>
      <slash:comments>42</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=69538fb4-a190-4e88-ba89-b1c3df2d1977</wfw:commentRss>
    </item>
  </channel>
</rss>