<?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>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>4</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>0</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>0</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>5</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>4</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>3</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=69538fb4-a190-4e88-ba89-b1c3df2d1977</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>XAML Complier has issues with linked xaml files</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=f90013aa-2164-4c56-a672-4136b2dc493b</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=f90013aa-2164-4c56-a672-4136b2dc493b</link>
      <description>
		&lt;p&gt;I thought I would post a short explanation of a small issue I encountered recently with the XAML compiler, in particular with its treatment of linked XAML files. Linked files can be created for all kinds of project files, most commonly code files like .cs or .vb files but it can be anything else. This is almost always done to when you need the same thing in multiple places but don't want to go to the trouble of managing two copies of it. They are added by changing the option in the open file dialog triggered when you choose "add existing item" in your project from 'add' to  'add as link' as shown below.&lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="Open File Dialog with the 'add as link' option selected" hspace="0" src="/Data/Images/addaslink.jpg" align="baseline" border="0" /&gt;
		&lt;/p&gt;
		&lt;p&gt;XAML files linked in this way will compile fine, but the relative path from the root of the project used as the key when retrieving them is lost when they are linked. Assuming we had a project structure like this. A project Foo contains a folder called resources, which in turn contains a XAML resource dictionary called stuff.xaml. Project Bar also has this same structure, but stuff.xaml has been added as a linked file from the Foo project.&lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="Project Hierarchy" hspace="0" src="/Data/Images/project_hierarchy.png" align="baseline" border="0" /&gt;
		&lt;/p&gt;
		&lt;p&gt;If we open up these two using reflector we see that in Foo the path to the resource dictionary has been specified correctly.&lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="Foo project resource keys" hspace="0" src="/Data/Images/foo_decompiled.png" align="baseline" border="0" /&gt;
		&lt;/p&gt;
		&lt;p&gt;In the decompiled output for Bar we can see that they key to stuff.baml is different.&lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="Bar Resource Keys" hspace="0" src="/Data/Images/bar_decompiled.png" align="baseline" border="0" /&gt;
		&lt;/p&gt;
		&lt;p&gt;Because resource keys are so...err...&lt;strong&gt;key&lt;/strong&gt; in locating and using them this will substantially affect most usage scenarios for this resource. One way to work around this problem is to factor these resources out into a library DLL that just contains these resources, however this doesn't work with all resource usage scenarios.&lt;/p&gt;
</description>
      <pubDate>Sunday, November 16, 2008 6:03 AM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=f90013aa-2164-4c56-a672-4136b2dc493b#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=f90013aa-2164-4c56-a672-4136b2dc493b#Feedback</comments>
      <slash:comments>1</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=f90013aa-2164-4c56-a672-4136b2dc493b</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>AOL Silverlight-based RIA mail client debuts</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=5fcf810f-ae0d-450a-a873-cb9cbab7c38c</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=5fcf810f-ae0d-450a-a873-cb9cbab7c38c</link>
      <description>
		&lt;p&gt;Hot on the heels of the Silverlight 2.0 release last week is a beta version of the &lt;a href="http://ria.aol.com"&gt;AOL RIA mail client&lt;/a&gt;&lt;a href="http://archive.visitmix.com/blogs/News/Keynote-AOL/"&gt;previewed at Mix08 and built on Silverlight 2.0&lt;/a&gt;.&lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="AOL RIA Email Client" hspace="0" src="/Data/Images/readingsimpleemail.jpg" align="baseline" border="0" /&gt;
		&lt;/p&gt;
		&lt;p&gt;(I just signed up but who knew their contextual advertising would catch on so fast!) Although the beta is missing the "HALO" theme featured at Mix08, it does feature 3 themes including Onyx (the default, shown above) "classic" which is themed similarly to a number of other AOL web properties, and a Hubble space theme.&lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="AOL RIA mail client themes" hspace="0" src="/Data/Images/themes.jpg" align="baseline" border="0" /&gt;
		&lt;/p&gt;
		&lt;p&gt;Cursory analysis of the app suggests the vast majority of it is built in silverlight, including (it seems) the editing widget which at the time of Mix08 was still being done with DHTML. We'll do more digging and let you know.&lt;/p&gt;
		&lt;p&gt; &lt;/p&gt;
</description>
      <pubDate>Sunday, October 26, 2008 10:54 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=5fcf810f-ae0d-450a-a873-cb9cbab7c38c#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=5fcf810f-ae0d-450a-a873-cb9cbab7c38c#Feedback</comments>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=5fcf810f-ae0d-450a-a873-cb9cbab7c38c</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>WPF Shader Effects Community Project Launched - http://www.codeplex.com/fx</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=398ed9d5-c56a-4ad5-830d-02e2d8d3bf26</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=398ed9d5-c56a-4ad5-830d-02e2d8d3bf26</link>
      <description>
		&lt;p&gt;The recent release of .NET 3.5 SP1 adds hardware-accelerated pixelshader effects to WPF. In addition to replacing a number of the slow software-rendered BitmapEffects with shiny, fast hardware-accelerated ones they also added the ability to write your own effects. In order to provide an easy-to-digest package for those who don't want to write shaders themselves, but DO want to add cool effects to their app I created a community shader project, hosted on codeplex at &lt;a href="http://www.codeplex.com/fx"&gt;http://www.codeplex.com/fx&lt;/a&gt; . If you're a graphics wonk chances are you can write much cooler effects than the ones I've already build, so please feel free to contribute.&lt;/p&gt;
		&lt;p&gt;Here is an overview of the effects in the 0.1 release:&lt;/p&gt;
		&lt;p&gt;
		&lt;/p&gt;
		&lt;table&gt;
				&lt;tbody&gt;
						&lt;tr&gt;
								&lt;td&gt;Negative&lt;/td&gt;
								&lt;td&gt;Grayscale&lt;/td&gt;
								&lt;td&gt;Sepia&lt;/td&gt;
								&lt;td&gt;Bloom&lt;/td&gt;
								&lt;td&gt;Motion Blur&lt;/td&gt;
						&lt;/tr&gt;
						&lt;tr&gt;
								&lt;td&gt;
										&lt;img border="0" hspace="0" alt="Negative" align="baseline" src="/Data/Images/negative.jpg" /&gt;
								&lt;/td&gt;
								&lt;td&gt;
										&lt;img border="0" hspace="0" alt="Gray-Scale" align="baseline" src="/Data/Images/grayscale.jpg" /&gt;
								&lt;/td&gt;
								&lt;td&gt;
										&lt;img border="0" hspace="0" alt="Sepia" align="baseline" src="/Data/Images/sepia.jpg" /&gt;
								&lt;/td&gt;
								&lt;td&gt;
										&lt;img border="0" hspace="0" alt="Gray-Scale" align="baseline" src="/Data/Images/bloom.jpg" /&gt;
								&lt;/td&gt;
								&lt;td&gt;
										&lt;img border="0" hspace="0" alt="Gray-Scale" align="baseline" src="/Data/Images/motionblur.jpg" /&gt;
								&lt;/td&gt;
						&lt;/tr&gt;
						&lt;p&gt;
						&lt;/p&gt;
				&lt;/tbody&gt;
				&lt;p&gt;
				&lt;/p&gt;
				&lt;p&gt;
				&lt;/p&gt;
		&lt;/table&gt;
		&lt;p&gt;Also I've been fortunate enough to enlist the help of a _real_ graphics wonk already, who added a nice radial blur effect. Thanks &lt;a href="http://rant.blackapache.net/"&gt;OJ&lt;/a&gt;.&lt;/p&gt;
		&lt;p&gt;
				&lt;img border="0" hspace="0" alt="Radial Blur" align="baseline" src="/Data/Images/radialblur.jpg" /&gt;
		&lt;/p&gt;
		&lt;p&gt; &lt;/p&gt;
</description>
      <pubDate>Monday, September 08, 2008 10:10 PM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=398ed9d5-c56a-4ad5-830d-02e2d8d3bf26#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=398ed9d5-c56a-4ad5-830d-02e2d8d3bf26#Feedback</comments>
      <slash:comments>2</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=398ed9d5-c56a-4ad5-830d-02e2d8d3bf26</wfw:commentRss>
    </item>
    <item>
      <dc:creator>LearnWPF.com</dc:creator>
      <title>Writing your first ShaderEffect for WPF 3.5 SP1</title>
      <guid>http://LearnWPF.com/Posts/Post.aspx?postId=9b2c71c0-7136-4ee7-ab2a-f8eec62874af</guid>
      <link>http://LearnWPF.com/Posts/Post.aspx?postId=9b2c71c0-7136-4ee7-ab2a-f8eec62874af</link>
      <description>
		&lt;p&gt;WPF architect &lt;a href="http://blogs.msdn.com/greg_schechter/default.aspx"&gt;Greg Schechter &lt;/a&gt;was written a &lt;a href="http://blogs.msdn.com/greg_schechter/archive/2008/05/12/a-series-on-gpu-based-effects-for-wpf.aspx"&gt;series of articles&lt;/a&gt; on the new hardware accelerated shaders recently released in beta form, as part of .NET 3.5 SP1 beta. &lt;a href="http://blogs.msdn.com/greg_schechter/archive/2008/05/13/a-simple-effect-sample-project-and-clickonce-application.aspx"&gt;This article &lt;/a&gt;includes some sample code that was enough to get me started down the path of writing a very simple shader effect - I've dubbed it "watery" but it's more just "wavy".&lt;/p&gt;
		&lt;p&gt;
		&lt;/p&gt;
		&lt;table&gt;
				&lt;tbody&gt;
						&lt;tr&gt;
								&lt;td&gt;
										&lt;img border="0" hspace="0" alt="wavy" align="baseline" src="http://learnwpf.com/Data/Images/wavy.png" /&gt;
								&lt;/td&gt;
								&lt;td&gt;
										&lt;img border="0" hspace="0" alt="wavy" align="baseline" src="http://learnwpf.com/Data/Images/non_wavy.png" /&gt;
								&lt;/td&gt;
						&lt;/tr&gt;
						&lt;p&gt;
						&lt;/p&gt;
				&lt;/tbody&gt;
		&lt;/table&gt;
		&lt;p&gt;In this example the "waviness" of the effect is bound to the value of the slider at the bottom of the screen. One thing that I thought was very nicely done by the WPF team was the mechanism for passing parameters from WPF into the HLSL code using an attached property declaration like this:&lt;/p&gt;
		&lt;p&gt;
				&lt;font size="2" face="Courier New"&gt;public static readonly DependencyProperty WavinessProperty =&lt;br /&gt;DependencyProperty.Register("Waviness", typeof(double), typeof(WaterEffect), new UIPropertyMetadata(0d, &lt;font color="#ffa500"&gt;PixelShaderConstantCallback(0)&lt;/font&gt;));&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;The last part is the most important bit, which wires up the dependency property that has been defined in our C# WPF code to a constant in the [very crude] pixel shader HLSL code:&lt;/p&gt;
		&lt;p&gt;
				&lt;font size="2" face="Courier New"&gt;sampler2D implicitInput : register(s0);&lt;br /&gt;&lt;font color="#ffa500"&gt;float waviness : register(C0);&lt;/font&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font size="2" face="Courier New"&gt;float4 main( float2 Tex : TEXCOORD ) : COLOR&lt;br /&gt;{&lt;br /&gt;    float4 Color;&lt;br /&gt;    Tex.y = Tex.y + (sin(Tex.x * waviness)* 0.01);&lt;br /&gt;    Color = tex2D( implicitInput, Tex.xy);&lt;br /&gt;    return Color;&lt;br /&gt;}&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;At the moment this sample is very much alpha, and sometimes does some very weird things to the contents of the window. Regardless I'm very impressed at how approachable the WPF team have made this stuff.&lt;/p&gt;
</description>
      <pubDate>Thursday, May 15, 2008 12:36 AM</pubDate>
      <wfw:comment>http://LearnWPF.com/Posts/Post.aspx?postId=9b2c71c0-7136-4ee7-ab2a-f8eec62874af#Feedback</wfw:comment>
      <comments>http://LearnWPF.com/Posts/Post.aspx?postId=9b2c71c0-7136-4ee7-ab2a-f8eec62874af#Feedback</comments>
      <slash:comments>4</slash:comments>
      <wfw:commentRss>http://LearnWPF.com/CommentRss.ashx?postID=9b2c71c0-7136-4ee7-ab2a-f8eec62874af</wfw:commentRss>
    </item>
  </channel>
</rss>