<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Snowball - The Blog - WinFX</title>
    <link>http://www.snowball.be/</link>
    <description>Gill's blog on .net programming</description>
    <language>en-us</language>
    <copyright>Gill Cleeren</copyright>
    <lastBuildDate>Tue, 07 Nov 2006 10:09:54 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>gillcleeren@gmail.com</managingEditor>
    <webMaster>gillcleeren@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=86bb2105-b9d2-4a0a-8a42-df292958b853</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,86bb2105-b9d2-4a0a-8a42-df292958b853.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,86bb2105-b9d2-4a0a-8a42-df292958b853.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=86bb2105-b9d2-4a0a-8a42-df292958b853</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The .NET Framework 3.0 has officially been released!  You can download the
.NET Framework 3.0 components here:
</p>
        <ul>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&amp;displaylang=en">.NET
Framework 3.0 Runtime Components</a>
          </li>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;displaylang=en">Windows
SDK for Vista and the .NET Framework 3.0</a>  
</li>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&amp;displaylang=en">Visual
Studio 2005 Extensions for .NET Framework 3.0 (Windows Workflow Foundation)</a>
          </li>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F54F5537-CC86-4BF5-AE44-F5A1E805680D&amp;displaylang=en">Visual
Studio 2005 Extensions for .NET Framework 3.0 (WCF &amp; WPF), November 2006 CTP</a>
          </li>
        </ul>
        <p>
If you use Vista, they are installed by default.
</p>
        <p>
Th  If you have a previous CTP installed, please be sure to review the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&amp;displaylang=en">uninstall
instructions</a>. 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=86bb2105-b9d2-4a0a-8a42-df292958b853" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>.net 3.0 released</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,86bb2105-b9d2-4a0a-8a42-df292958b853.aspx</guid>
      <link>http://www.snowball.be/2006/11/07/net+30+Released.aspx</link>
      <pubDate>Tue, 07 Nov 2006 10:09:54 GMT</pubDate>
      <description>&lt;p&gt;
The .NET Framework 3.0 has officially been released!&amp;nbsp;&amp;nbsp;You can download the
.NET Framework 3.0 components&amp;nbsp;here:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en"&gt;.NET
Framework 3.0 Runtime Components&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;amp;displaylang=en"&gt;Windows
SDK for Vista&amp;nbsp;and the .NET Framework 3.0&lt;/a&gt;&amp;nbsp; 
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&amp;amp;displaylang=en"&gt;Visual
Studio 2005 Extensions for .NET Framework 3.0 (Windows Workflow Foundation)&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F54F5537-CC86-4BF5-AE44-F5A1E805680D&amp;amp;displaylang=en"&gt;Visual
Studio 2005 Extensions for .NET Framework 3.0 (WCF &amp;amp; WPF), November 2006 CTP&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
If you use Vista, they are installed by default.
&lt;/p&gt;
&lt;p&gt;
Th&amp;nbsp;&amp;nbsp;If you have a previous CTP installed, please be sure to review the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&amp;amp;displaylang=en"&gt;uninstall
instructions&lt;/a&gt;.&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=86bb2105-b9d2-4a0a-8a42-df292958b853" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,86bb2105-b9d2-4a0a-8a42-df292958b853.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Programming</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=73481e3b-8cea-41a7-8ca1-e58f5d628d06</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,73481e3b-8cea-41a7-8ca1-e58f5d628d06.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,73481e3b-8cea-41a7-8ca1-e58f5d628d06.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=73481e3b-8cea-41a7-8ca1-e58f5d628d06</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With Windows Presentation Foundation coming closer to its release date with Vista
almost being upon us, more and more people are taking a look at programming in WPF…
Lately, people searching on Google for WPF-related information is soaring. How do
you know that, you might ask? Well, in my logs, I notice a steep increase in people
landing on my blog who searched for information on WPF. That’s a good thing!! ?
</p>
        <p>
However, what I do notice, is that there is still some confusion on some topics. 
In this article, I want to help clear out the difference between the different application
types in WPF/Vista. Since this is a major change with previous application models,
lots of people, including me when I first heard about it, seem confused.
</p>
        <p>
          <em>So, let’s get to it!</em>
        </p>
        <p>
WPF has 2 main applications models: standalone and browser. On the other hand, it
also has 2 types of navigation: menu-driven, which is what we’re all used to in traditional
Windows applications and link-driven, which is the default for web applications. The
first thing to note is that in WPF, both types of navigation can be used in either
of the application models. Neat, isn’t it? 
<br />
That basically means that you can create a web application as if it were a windows
application, containing a menu to navigate around. Or, create a standalone desktop
application that feels like a web application, with all buttons replaced by links.<br />
No longer are you bound to one application model with is “natural” navigation model!
</p>
        <p>
          <strong>Standalone applications<br /></strong>
          <br />
When you want to create a “traditional” Windows application, you should choose to
create “Windows Application (WPF)”. 
<br /></p>
        <p align="center">
          <img src="http://www.snowball.be/content/binary/11.jpg" border="0" />
        </p>
        <p align="left">
The Windows Form now became a Window, each of these is declared as Window1.xaml. Notice
that the build action for a Window file is automatically set to Page. What this means,
is that the markup is turned into a special type of resource that can be identified
uniquely by a Uniform Resource Identifier (URI). This way, WPF can load the window
using a URI, as is done set the starting point in your App.xaml. 
</p>
        <p align="left">
          <font face="Courier New">&lt;Application x:Class="WindowsApplication2.App"<br />
    xmlns="</font>
          <a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
            <font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml/presentation</font>
          </a>
          <font face="Courier New">"<br />
    xmlns:x="</font>
          <a href="http://schemas.microsoft.com/winfx/2006/xaml">
            <font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml</font>
          </a>
          <font face="Courier New">"<br />
    StartupUri="Window1.xaml"<br />
    &gt;</font>
        </p>
        <p align="left">
This way, your application knows which window it has to load up first. This window
is loaded modeless, meaning that it has no problems with you clicking anywhere else
in the application. 
</p>
        <p align="left">
          <strong>Page’d applications<br /></strong>
          <br />
Should you want to create an application that mimics the web experience but still
run as a standalone application, you should start by adding a Page(WPF). 
</p>
        <p align="left">
Just like in the Window, you can add controls and content to the page. However, when
you change the startupuri in the App.xaml to your newly added page, some things will
change. 
</p>
        <p align="left">
A window can host itself, like a form did in traditional Windows Forms programming.
A HTML/ASPX page requires a browser. Now, we created a “standalone” application with
the starting point set to a page. Kinda weird, right?
</p>
        <p align="left">
Well, the Application class in WPF is smart enough to detect if your startupuri is
set to a page. It will then create a window to host your application. 
</p>
        <p align="center">
          <img src="http://www.snowball.be/content/binary/2.jpg" border="0" />
        </p>
        <p align="left">
          <br />
Now, where does this “hosting window” come from?<br />
When the startupuri is set to a XAML page or HTML page, Application  creates
an instance of NavigationWindow to host them. This class derives from Window but extends
it to make it look like a mini-browser window, providing navigation buttons at the
top.
</p>
        <p align="left">
When content changes or when you click a link to navigate to another page, the previous
content is added to the history. The management of the history itself is managed too
by the NavigationWindow. 
</p>
        <p align="left">
          <strong>XAML Browser applications<br /></strong>
          <br />
The final type of application is the XAML browser application. While the previous
type of application basically is a web application, being hosted in its own mini-browser,
you can’t really take advantage of all the features modern browser have today. If
that’s what you need, you should create a XAML browser application or XBAP. 
</p>
        <p align="left">
To create one, you should choose new “XAML Browser Application (WPF)”. After that,
you can copy all the code you created for that WPF standalone application to one or
more pages, and your application is ready for the web! 
</p>
        <p align="left">
One more thing you can do with XBAPs is publish them on a web- or intranet server.
This is done using ClickOnce, which creates the executable along with 2 manifest files.
One of these 2 has the extension XBAP, and that’s were the user navigates too. It
then “downloads” the application to the local computer.
</p>
        <p align="left">
Because of the security risk, XBAPs are not installed and run in a security sandbox:
some operations like writing to the registry are not allowed. Basically, XBAPs can
only do things that are allowed for apps launched from the Internet zone, a restricted
set of operations.<br /><br /><strong>Conclusion<br /></strong>As you can see, the ways an application is build are different
from what you are used to in traditional programming. I hope this guide
is clear enough to help you choose the correct type when building a WPF application
for Vista.<br />
 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=73481e3b-8cea-41a7-8ca1-e58f5d628d06" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF tutorial: Different types of applications in Windows Presentation Foundation</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,73481e3b-8cea-41a7-8ca1-e58f5d628d06.aspx</guid>
      <link>http://www.snowball.be/2006/11/02/WPF+Tutorial+Different+Types+Of+Applications+In+Windows+Presentation+Foundation.aspx</link>
      <pubDate>Thu, 02 Nov 2006 15:01:59 GMT</pubDate>
      <description>&lt;p&gt;
With Windows Presentation Foundation coming closer to its release date with Vista
almost being upon us, more and more people are taking a look at programming in WPF…
Lately, people searching on Google for WPF-related information is soaring. How do
you know that, you might ask? Well, in my logs, I notice a steep increase in people
landing on my blog who searched for information on WPF. That’s a good thing!! ?
&lt;/p&gt;
&lt;p&gt;
However, what I do notice, is that there is still some confusion on some topics.&amp;nbsp;
In this article, I want to help clear out the difference between the different application
types in WPF/Vista. Since this is a major change with previous application models,
lots of people, including me when I first heard about it, seem confused.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;So, let’s get to it!&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
WPF has 2 main applications models: standalone and browser. On the other hand, it
also has 2 types of navigation: menu-driven, which is what we’re all used to in traditional
Windows applications and link-driven, which is the default for web applications. The
first thing to note is that in WPF, both types of navigation can be used in either
of the application models. Neat, isn’t it? 
&lt;br&gt;
That basically means that you can create a web application as if it were a windows
application, containing a menu to navigate around. Or, create a standalone desktop
application that feels like a web application, with all buttons replaced by links.&lt;br&gt;
No longer are you bound to one application model with is “natural” navigation model!
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Standalone applications&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
When you want to create a “traditional” Windows application, you should choose to
create “Windows Application (WPF)”. 
&lt;br&gt;
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img src="http://www.snowball.be/content/binary/11.jpg" border=0&gt;
&lt;/p&gt;
&lt;p align=left&gt;
The Windows Form now became a Window, each of these is declared as Window1.xaml. Notice
that the build action for a Window file is automatically set to Page. What this means,
is that the markup is turned into a special type of resource that can be identified
uniquely by a Uniform Resource Identifier (URI). This way, WPF can load the window
using a URI, as is done set the starting point in your App.xaml. 
&lt;/p&gt;
&lt;p align=left&gt;
&lt;font face="Courier New"&gt;&amp;lt;Application x:Class="WindowsApplication2.App"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;/font&gt;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x="&lt;/font&gt;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; StartupUri="Window1.xaml"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p align=left&gt;
This way, your application knows which window it has to load up first. This window
is loaded modeless, meaning that it has no problems with you clicking anywhere else
in the application. 
&lt;/p&gt;
&lt;p align=left&gt;
&lt;strong&gt;Page’d applications&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
Should you want to create an application that mimics the web experience but still
run as a standalone application, you should start by adding a Page(WPF). 
&lt;/p&gt;
&lt;p align=left&gt;
Just like in the Window, you can add controls and content to the page. However, when
you change the startupuri in the App.xaml to your newly added page, some things will
change. 
&lt;/p&gt;
&lt;p align=left&gt;
A window can host itself, like a form did in traditional Windows Forms programming.
A HTML/ASPX page requires a browser. Now, we created a “standalone” application with
the starting point set to a page. Kinda weird, right?
&lt;/p&gt;
&lt;p align=left&gt;
Well, the Application class in WPF is smart enough to detect if your startupuri is
set to a page. It will then create a window to host your application. 
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img src="http://www.snowball.be/content/binary/2.jpg" border=0&gt;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;br&gt;
Now, where does this “hosting window” come from?&lt;br&gt;
When the startupuri is set to a XAML page or HTML page, Application&amp;nbsp; creates
an instance of NavigationWindow to host them. This class derives from Window but extends
it to make it look like a mini-browser window, providing navigation buttons at the
top.
&lt;/p&gt;
&lt;p align=left&gt;
When content changes or when you click a link to navigate to another page, the previous
content is added to the history. The management of the history itself is managed too
by the NavigationWindow. 
&lt;/p&gt;
&lt;p align=left&gt;
&lt;strong&gt;XAML Browser applications&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
The final type of application is the XAML browser application. While the previous
type of application basically is a web application, being hosted in its own mini-browser,
you can’t really take advantage of all the features modern browser have today. If
that’s what you need, you should create a XAML browser application or XBAP. 
&lt;/p&gt;
&lt;p align=left&gt;
To create one, you should choose new “XAML Browser Application (WPF)”. After that,
you can copy all the code you created for that WPF standalone application to one or
more pages, and your application is ready for the web! 
&lt;/p&gt;
&lt;p align=left&gt;
One more thing you can do with XBAPs is publish them on a web- or intranet server.
This is done using ClickOnce, which creates the executable along with 2 manifest files.
One of these 2 has the extension XBAP, and that’s were the user navigates too. It
then “downloads” the application to the local computer.
&lt;/p&gt;
&lt;p align=left&gt;
Because of the security risk, XBAPs are not installed and run in a security sandbox:
some operations like writing to the registry are not allowed. Basically, XBAPs can
only do things that are allowed for apps launched from the Internet zone, a restricted
set of operations.&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Conclusion&lt;br&gt;
&lt;/strong&gt;As you can&amp;nbsp;see,&amp;nbsp;the ways&amp;nbsp;an application is build are different
from what you are used to&amp;nbsp;in traditional&amp;nbsp;programming. I hope this guide
is clear enough to help you choose the&amp;nbsp;correct type when building a WPF application
for Vista.&lt;br&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=73481e3b-8cea-41a7-8ca1-e58f5d628d06" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,73481e3b-8cea-41a7-8ca1-e58f5d628d06.aspx</comments>
      <category>.net</category>
      <category>ASP.net</category>
      <category>C#</category>
      <category>Vista</category>
      <category>Visual Studio.net</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=bc3fd69f-fb9b-4cb2-af78-d56887d8ca83</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,bc3fd69f-fb9b-4cb2-af78-d56887d8ca83.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,bc3fd69f-fb9b-4cb2-af78-d56887d8ca83.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=bc3fd69f-fb9b-4cb2-af78-d56887d8ca83</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today, I was installing the VPC (Virtual PC image) that Microsoft provides for all
early adopters on future technologies, including .net 3.0. I intend to use this VPC
for my presentation later this month.<br /><br />
This image-file includes a whole lot of CTP/preview versions, as can be seen here.<br /><br />
However, when opening the file, I received the following notice: E:\VPC\TimeBombedBase\Base01.vhd
cannot be found... Appearantly, this is the parent image, of which the CTP is a differencing
disk. 
<br /><br />
On the setup instructions page, MS appearantly forgot to mention that this 4GB download
also requires you to obtain the parent VPC image, a 1.1GB download...<br />
This file can be found here: <a href="http://download.microsoft.com/download/5/4/9/5499b008-8ae7-46f0-89ae-aeeb18df67ae/VSCTPBase.exe">http://download.microsoft.com/download/5/4/9/5499b008-8ae7-46f0-89ae-aeeb18df67ae/VSCTPBase.exe</a> <br /><br />
Should you want to play around with .net 3.0/LINQ... and don't feel like installing
all these on a VPC yourself, you can grab the download here: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82243606-d16d-445c-8949-9ee8c10cda2e&amp;DisplayLang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=82243606-d16d-445c-8949-9ee8c10cda2e&amp;DisplayLang=en</a>  
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bc3fd69f-fb9b-4cb2-af78-d56887d8ca83" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>E:\VPC\TimeBombedBase\Base01.vhd?</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,bc3fd69f-fb9b-4cb2-af78-d56887d8ca83.aspx</guid>
      <link>http://www.snowball.be/2006/10/30/EVPCTimeBombedBaseBase01vhd.aspx</link>
      <pubDate>Mon, 30 Oct 2006 11:48:56 GMT</pubDate>
      <description>&lt;p&gt;
Today, I was installing the VPC (Virtual PC image) that Microsoft provides for all
early adopters on future technologies, including .net 3.0. I intend to use this VPC
for my presentation later this month.&lt;br&gt;
&lt;br&gt;
This image-file includes a whole lot of CTP/preview versions, as can be seen here.&lt;br&gt;
&lt;br&gt;
However, when opening the file, I received the following notice: E:\VPC\TimeBombedBase\Base01.vhd
cannot be found... Appearantly, this is the parent image, of which the CTP is a differencing
disk. 
&lt;br&gt;
&lt;br&gt;
On the setup instructions page, MS appearantly forgot to mention that this 4GB download
also requires you to obtain the parent VPC image, a 1.1GB download...&lt;br&gt;
This file can be found here: &lt;a href="http://download.microsoft.com/download/5/4/9/5499b008-8ae7-46f0-89ae-aeeb18df67ae/VSCTPBase.exe"&gt;http://download.microsoft.com/download/5/4/9/5499b008-8ae7-46f0-89ae-aeeb18df67ae/VSCTPBase.exe&lt;/a&gt;&amp;nbsp;&lt;br&gt;
&lt;br&gt;
Should you want to play around with .net 3.0/LINQ... and don't feel like&amp;nbsp;installing
all these on&amp;nbsp;a&amp;nbsp;VPC yourself, you can grab the download here: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82243606-d16d-445c-8949-9ee8c10cda2e&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=82243606-d16d-445c-8949-9ee8c10cda2e&amp;amp;DisplayLang=en&lt;/a&gt;&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bc3fd69f-fb9b-4cb2-af78-d56887d8ca83" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,bc3fd69f-fb9b-4cb2-af78-d56887d8ca83.aspx</comments>
      <category>.net</category>
      <category>Windows</category>
      <category>WinFX</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=5da82d19-e838-4bf8-b4ec-ec0aaf77145e</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,5da82d19-e838-4bf8-b4ec-ec0aaf77145e.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,5da82d19-e838-4bf8-b4ec-ec0aaf77145e.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=5da82d19-e838-4bf8-b4ec-ec0aaf77145e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In a few weeks, I'll be doing a session on Windows Presentation Foundation, or WPF
at Ordina, my company.<br /><br />
The info:<br /><em>.NET Framework 3.0 heeft de RC1-status bereikt. Hoewel de naamgeving anders
doet vermoeden is versie 3 geen upgrade van versie 2, maar meer een uitbreiding hierop.
.NET Framework 3.0 bevat .NET Framework 2.0 plus vier nieuwe libraries.<br />
De nieuwe toevoegingen aan .NET Framework 3.0 krijgen de namen Windows Communications
Foundation , Windows Presentation Foundation , Windows Workflow Foundation en de Windows
CardSpace Identity Library.</em></p>
        <div id="dnn_ctr871_ModuleContent">
          <div class="Normal" id="dnn_ctr871_MLHTML_HtmlHolder">
            <p>
              <em>.Net Framework 3.0 functions &amp; features onder de knie krijgen is een
must voor elke Microsoft ontwikkelaar/architect !</em>
            </p>
            <p>
              <em>Ordina’s N-Technologies team nodigt u graag uit op 24 november voor 2 “in-depth-sessies”
WPF en WCF, zodat u uw kennis kan bijschaven en op niveau brengen.</em>
            </p>
            <p>
              <em>Aarzel niet en neem deel aan deze volledig gratis trainingsessie!</em>
            </p>
            <p>
              <em>Bovendien maak je, samen met 15 andere collega’s kans op een “karting-beurt”!<br /><br /><strong>Agenda</strong><br /><br /><table class="normal" cellspacing="0" cellpadding="2" border="0"><tbody><tr valign="top"><td nowrap="nowrap"><font color="#000000" size="2"><em>15u00 – 15u30</em></font></td><td><font color="#000000" size="2"><em></em></font></td><td><font color="#000000" size="2"><em>Ontvangst en versnapering</em></font></td></tr><tr valign="top"><td><font color="#000000" size="2"><em>15u30 – 16u45 </em></font></td><td><font color="#000000" size="2"><em></em></font></td><td><p><font color="#000000" size="2"><em>sessie 1: Windows Presentation Foundation (WPF)</em></font></p><p><strong><font color="#000000" size="2"><em>Building next-generation User Interfaces
with Windows Presentation Foundation</em></font></strong></p><p><font color="#000000" size="2"><em>Windows Presentation Foundation, kortweg WPF, is
het nieuwe grafische platform van Microsoft, speciaal ontworpen voor en compleet geïntegreerd
in Windows Vista. Als een van de drie pijlers van .NET Framework 3.0 stelt deze nieuwe
technologie je als developer in staat om een perfecte mix te krijgen van UI, documenten
en media. 
<br />
Code, code en nog eens code... Dat is waar we in deze zero-slide-presentation voor
gaan. Na deze sessie weet je gegarandeerd meer over waar WPF je kan helpen in het
creëren van je next-generation application!        </em></font></p><p><font color="#000000" size="2"><em>Door: <strong>Gill Cleeren</strong> – </em></font><a href="http://www.snowball.be/" target="_blank"><font color="#000000" size="2"><em>http://www.snowball.be/</em></font></a><br /><font color="#000000" size="2"><em>Door: <strong>Sven Cipido</strong> – </em></font><a href="http://blog.svencipido.be/" target="_blank"><font color="#000000" size="2"><em>http://blog.svencipido.be</em></font></a><br /></p></td></tr><tr valign="top"><td nowrap="nowrap"><font color="#000000" size="2"><em>16u45 – 17u00</em></font></td><td><font color="#000000" size="2"><em></em></font></td><td><font size="2"><font color="#000000"><em>pauze en <strong>loting “karting-tickets”</strong></em></font></font></td></tr><tr valign="top"><td><font color="#000000" size="2"><em>17u00 – 18u15</em></font></td><td><font color="#000000" size="2"><em></em></font></td><td><p><font color="#000000" size="2"><em>sessie 2: Windows Communication &amp; Workflow   
Foundation</em></font></p><p><strong><font color="#000000" size="2"><em>Service Oriented Approach in .NET Framework
3.0, WCF en WF</em></font></strong></p><p><font color="#000000" size="2"><em>Door middel van Windows Communication Foundation
en Windows Workflow Foundation laat het Microsoft .NET Framework 3.0 framework
toe om enterprise applications service georiënteerd te ontwikkelen. Hierdoor kunnen
applicaties vanuit verschillende technologieën onderling communiceren en hun functionaliteiten
als losse services aangesproken worden. Deze services kunnen door een workflow ondersteund
worden waarvan het gedrag door externe policies bepaald is.<br />
Deze sessie toont adhv een praktische case vanuit het developers standpunt hoe SOA
in .NET Framework 3.0 kan geimplementeerd worden.</em></font></p><p><font color="#000000" size="2"><em>Door: <strong>Kurt Claeys</strong> – </em></font><a href="http://www.geekswithblogs.com/claeyskurt" target="_blank"><font color="#000000" size="2"><em>http://www.geekswithblogs.com/claeyskurt</em></font></a><br /></p></td></tr><tr valign="top"><td><font color="#000000" size="2"><em>18u15</em></font></td><td><font color="#000000" size="2"><em></em></font></td><td><font color="#000000" size="2"><em>Afsluiting – Drink – Kartingbeurt voor de gelukkigen!</em></font></td></tr></tbody></table></em>
            </p>
          </div>
          <!-- End_Module_871 -->
        </div>
        <br />
Want to register? Go <a href="http://www.ordina.be/tabid/260/Default.aspx">here</a>.
Oh yes, IT'S FREE!!<img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5da82d19-e838-4bf8-b4ec-ec0aaf77145e" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Session on .net 3.0 by me </title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,5da82d19-e838-4bf8-b4ec-ec0aaf77145e.aspx</guid>
      <link>http://www.snowball.be/2006/10/27/Session+On+Net+30+By+Me.aspx</link>
      <pubDate>Fri, 27 Oct 2006 22:09:32 GMT</pubDate>
      <description>&lt;p&gt;
In a few weeks, I'll be doing a session on Windows Presentation Foundation, or WPF
at Ordina, my company.&lt;br&gt;
&lt;br&gt;
The info:&lt;br&gt;
&lt;em&gt;.NET Framework&amp;nbsp;3.0 heeft de RC1-status bereikt. Hoewel de naamgeving anders
doet vermoeden is versie 3 geen upgrade van versie 2, maar meer een uitbreiding hierop.
.NET Framework&amp;nbsp;3.0 bevat .NET Framework&amp;nbsp;2.0 plus vier nieuwe libraries.&lt;br&gt;
De nieuwe toevoegingen aan .NET Framework&amp;nbsp;3.0 krijgen de namen Windows Communications
Foundation , Windows Presentation Foundation , Windows Workflow Foundation en de Windows
CardSpace Identity Library.&lt;/em&gt;
&lt;/p&gt;
&lt;div id=dnn_ctr871_ModuleContent&gt;
&lt;div class=Normal id=dnn_ctr871_MLHTML_HtmlHolder&gt;
&lt;p&gt;
&lt;em&gt;.Net Framework&amp;nbsp;3.0 functions &amp;amp; features onder de knie krijgen is een
must voor elke Microsoft ontwikkelaar/architect !&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Ordina’s N-Technologies team nodigt u graag uit op 24 november voor 2 “in-depth-sessies”
WPF en WCF, zodat u uw kennis kan bijschaven en op niveau brengen.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Aarzel niet en neem deel aan deze volledig gratis trainingsessie!&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Bovendien maak je, samen met 15 andere collega’s kans op een “karting-beurt”!&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Agenda&lt;/strong&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table class=normal cellspacing=0 cellpadding=2 border=0&gt;
&lt;tbody&gt;
&lt;tr valign=top&gt;
&lt;td nowrap&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;15u00 – 15u30&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;Ontvangst en versnapering&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign=top&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;15u30 – 16u45 &lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;sessie 1: Windows Presentation Foundation (WPF)&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font color=#000000 size=2&gt;&lt;em&gt;Building next-generation User Interfaces with
Windows Presentation Foundation&lt;/em&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;Windows Presentation Foundation, kortweg WPF, is het
nieuwe grafische platform van Microsoft, speciaal ontworpen voor en compleet geïntegreerd
in Windows Vista. Als een van de drie pijlers van .NET Framework 3.0 stelt deze nieuwe
technologie je als developer in staat om een perfecte mix te krijgen van UI, documenten
en media. 
&lt;br&gt;
Code, code en nog eens code... Dat is waar we in deze zero-slide-presentation voor
gaan. Na deze sessie weet je gegarandeerd meer over waar WPF je kan helpen in het
creëren van je next-generation application!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;Door: &lt;strong&gt;Gill Cleeren&lt;/strong&gt; – &lt;/em&gt;&lt;/font&gt;&lt;a href="http://www.snowball.be/" target=_blank&gt;&lt;font color=#000000 size=2&gt;&lt;em&gt;http://www.snowball.be/&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;Door: &lt;strong&gt;Sven Cipido&lt;/strong&gt; – &lt;/em&gt;&lt;/font&gt;&lt;a href="http://blog.svencipido.be/" target=_blank&gt;&lt;font color=#000000 size=2&gt;&lt;em&gt;http://blog.svencipido.be&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign=top&gt;
&lt;td nowrap&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;16u45 – 17u00&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font size=2&gt;&lt;font color=#000000&gt;&lt;em&gt;pauze en &lt;strong&gt;loting “karting-tickets”&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign=top&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;17u00 – 18u15&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;sessie 2: Windows Communication &amp;amp; Workflow&amp;nbsp;&amp;nbsp;&amp;nbsp;
Foundation&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font color=#000000 size=2&gt;&lt;em&gt;Service Oriented Approach in .NET Framework
3.0, WCF en WF&lt;/em&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;Door middel van Windows Communication Foundation en
Windows Workflow Foundation laat het Microsoft .NET Framework&amp;nbsp;3.0 framework toe
om enterprise applications service georiënteerd te ontwikkelen. Hierdoor kunnen applicaties
vanuit verschillende technologieën onderling communiceren en hun functionaliteiten
als losse services aangesproken worden. Deze services kunnen door een workflow ondersteund
worden waarvan het gedrag door externe policies bepaald is.&lt;br&gt;
Deze sessie toont adhv een praktische case vanuit het developers standpunt hoe SOA
in .NET Framework 3.0 kan geimplementeerd worden.&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;Door: &lt;strong&gt;Kurt Claeys&lt;/strong&gt; – &lt;/em&gt;&lt;/font&gt;&lt;a href="http://www.geekswithblogs.com/claeyskurt" target=_blank&gt;&lt;font color=#000000 size=2&gt;&lt;em&gt;http://www.geekswithblogs.com/claeyskurt&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign=top&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;18u15&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#000000 size=2&gt;&lt;em&gt;Afsluiting – Drink – Kartingbeurt voor de gelukkigen!&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/em&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;!-- End_Module_871 --&gt;
&lt;/div&gt;
&lt;br&gt;
Want to register? Go &lt;a href="http://www.ordina.be/tabid/260/Default.aspx"&gt;here&lt;/a&gt;.
Oh yes, IT'S FREE!!&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5da82d19-e838-4bf8-b4ec-ec0aaf77145e" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,5da82d19-e838-4bf8-b4ec-ec0aaf77145e.aspx</comments>
      <category>WinFX</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=1843ec6e-7e34-4f21-9266-19756f4cbe53</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,1843ec6e-7e34-4f21-9266-19756f4cbe53.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,1843ec6e-7e34-4f21-9266-19756f4cbe53.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=1843ec6e-7e34-4f21-9266-19756f4cbe53</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Free training alert!!!</strong>
          <br />
          <br />
          <a href="https://www.microsoftelearning.com/default.aspx">
            <font color="#355ea0">Microsoft
Learning</font>
          </a> developed some free online training(<a title="Collection 5134 : Developing Rich Experiences with Microsoft® .NET Framework 3.0 &#xD;&#xA;and Visual Studio® 2005" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340"><font color="#355ea0">Collection
5134 : Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio®
2005</font></a>) that you can use for a limited time.<br />
You will learn how to develop rich experiences using Windows Presentation Foundation,
Windows Workflow Foundation, and Windows Communication Foundation.
</p>
        <blockquote cite="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340">
          <p>
          </p>
          <p>
This collection of 3 2-hour premium clinics teaches about the new capabilities provided
by the .NET Framework 3.0. These clinics are for experienced Developers and Software
Architects who are looking to adopt Microsoft's next generation technology within
their solutions.
</p>
          <p class="Citation">
From: <cite cite="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340"><a href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340"><font color="#355ea0">Collection
5134 : Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio®
2005</font></a></cite></p>
        </blockquote>
        <p>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1843ec6e-7e34-4f21-9266-19756f4cbe53" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Free training from Microsoft</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,1843ec6e-7e34-4f21-9266-19756f4cbe53.aspx</guid>
      <link>http://www.snowball.be/2006/10/17/Free+Training+From+Microsoft.aspx</link>
      <pubDate>Tue, 17 Oct 2006 18:28:30 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Free training alert!!!&lt;/strong&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="https://www.microsoftelearning.com/default.aspx"&gt;&lt;font color=#355ea0&gt;Microsoft
Learning&lt;/font&gt;&lt;/a&gt;&amp;nbsp;developed&amp;nbsp;some free online training(&lt;a title="Collection 5134 : Developing Rich Experiences with Microsoft® .NET Framework 3.0 &amp;#13;&amp;#10;and Visual Studio® 2005" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340"&gt;&lt;font color=#355ea0&gt;Collection
5134 : Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio®
2005&lt;/font&gt;&lt;/a&gt;) that you can use for a limited time.&lt;br&gt;
You will learn how to develop rich experiences using Windows Presentation Foundation,
Windows Workflow Foundation, and Windows Communication Foundation.
&lt;/p&gt;
&lt;blockquote cite=https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340&gt; 
&lt;p&gt;
&lt;p&gt;
This collection of 3 2-hour premium clinics teaches about the new capabilities provided
by the .NET Framework 3.0. These clinics are for experienced Developers and Software
Architects who are looking to adopt Microsoft's next generation technology within
their solutions.
&lt;/p&gt;
&lt;p class=Citation&gt;
From: &lt;cite cite=https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340&gt;&lt;a href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340"&gt;&lt;font color=#355ea0&gt;Collection
5134 : Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio®
2005&lt;/font&gt;&lt;/a&gt;&lt;/cite&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1843ec6e-7e34-4f21-9266-19756f4cbe53" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,1843ec6e-7e34-4f21-9266-19756f4cbe53.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Vista</category>
      <category>WinFX</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=1d3ade4d-315d-4b71-a273-b29935c75612</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,1d3ade4d-315d-4b71-a273-b29935c75612.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,1d3ade4d-315d-4b71-a273-b29935c75612.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=1d3ade4d-315d-4b71-a273-b29935c75612</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <span id="_ctl5__ctl0_NewsArticlesRepeater__ctl4_ArticleText">
            <span>Another new release
of the .net framework 3.0 has been released! This time, it's the September CTP.<br /><br />
The Microsoft .NET Framework 3.0 (formerly known as WinFX), is the new managed code
programming model for Windows. It combines the power of the .NET Framework 2.0 with
new technologies for building applications that have visually compelling user experiences,
seamless communication across technology boundaries, and the ability to support a
wide range of business processes. 
<br />
These new technologies are Windows Presentation Foundation, Windows Communication
Foundation, Windows Workflow Foundation, and Windows CardSpace (formerly code named
"Infocard"). Microsoft plans to ship .NET Framework 3.0 as part of the Windows Vista
operating system. In addition, Microsoft is making these technologies available on
Windows XP and Windows Server 2003. 
<br />
The following Community Technology Preview of .NET Framework 3.0 enables you to continue
experimenting with early builds of these technologies, get acquainted with the development
experience, and provide feedback to Microsoft. For more information on these technologies,
click <a href="http://msdn.microsoft.com/winfx/technologies/default.aspx" target="_blank"><u><font color="#0000ff">here</font></u></a>. 
<br /><br /><b>Installation</b><br />
To start the installation process, you will need to run the download file; this will
initiate the installation of the .NET Framework 3.0 September CTP; If you have troubles
with the download manager, you can download the entire package <a href="http://download.microsoft.com/download/7/D/A/7DADE2E4-667F-4FCB-BA6B-80D09B03276B/dotnetfx3.exe" target="_blank"><u><font color="#0000ff">for
x86</font></u></a> or <a href="http://download.microsoft.com/download/F/C/3/FC3BADCC-7230-4452-8608-9DA0927F38F3/dotnetfx3_x64.exe" target="_blank"><u><font color="#0000ff">for
x64</font></u></a> which are both .EXE files. </span>
          </span>
        </p>
        <p>
          <span>
            <span>
            </span>
          </span> 
</p>
        <p>
          <span>
            <span>Enjoy!</span>
          </span>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1d3ade4d-315d-4b71-a273-b29935c75612" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>September CTP of the .net framework 3.0</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,1d3ade4d-315d-4b71-a273-b29935c75612.aspx</guid>
      <link>http://www.snowball.be/2006/09/24/September+CTP+Of+The+Net+Framework+30.aspx</link>
      <pubDate>Sun, 24 Sep 2006 09:25:15 GMT</pubDate>
      <description>&lt;p&gt;
&lt;span id=_ctl5__ctl0_NewsArticlesRepeater__ctl4_ArticleText&gt;&lt;span&gt;Another new release
of the .net framework 3.0 has been released! This time, it's the September CTP.&lt;br&gt;
&lt;br&gt;
The Microsoft .NET Framework 3.0 (formerly known as WinFX), is the new managed code
programming model for Windows. It combines the power of the .NET Framework 2.0 with
new technologies for building applications that have visually compelling user experiences,
seamless communication across technology boundaries, and the ability to support a
wide range of business processes. 
&lt;br&gt;
These new technologies are Windows Presentation Foundation, Windows Communication
Foundation, Windows Workflow Foundation, and Windows CardSpace (formerly code named
"Infocard"). Microsoft plans to ship .NET Framework 3.0 as part of the Windows Vista
operating system. In addition, Microsoft is making these technologies available on
Windows XP and Windows Server 2003. 
&lt;br&gt;
The following Community Technology Preview of .NET Framework 3.0 enables you to continue
experimenting with early builds of these technologies, get acquainted with the development
experience, and provide feedback to Microsoft. For more information on these technologies,
click &lt;a href="http://msdn.microsoft.com/winfx/technologies/default.aspx" target=_blank&gt;&lt;u&gt;&lt;font color=#0000ff&gt;here&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;. 
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Installation&lt;/b&gt;
&lt;br&gt;
To start the installation process, you will need to run the download file; this will
initiate the installation of the .NET Framework 3.0 September CTP; If you have troubles
with the download manager, you can download the entire package &lt;a href="http://download.microsoft.com/download/7/D/A/7DADE2E4-667F-4FCB-BA6B-80D09B03276B/dotnetfx3.exe" target=_blank&gt;&lt;u&gt;&lt;font color=#0000ff&gt;for
x86&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; or &lt;a href="http://download.microsoft.com/download/F/C/3/FC3BADCC-7230-4452-8608-9DA0927F38F3/dotnetfx3_x64.exe" target=_blank&gt;&lt;u&gt;&lt;font color=#0000ff&gt;for
x64&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; which are both .EXE files. &lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;&lt;span&gt;Enjoy!&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1d3ade4d-315d-4b71-a273-b29935c75612" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,1d3ade4d-315d-4b71-a273-b29935c75612.aspx</comments>
      <category>.net</category>
      <category>Vista</category>
      <category>Visual Studio.net</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=0da61596-eec6-43f0-9a06-7035bbe89b71</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,0da61596-eec6-43f0-9a06-7035bbe89b71.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,0da61596-eec6-43f0-9a06-7035bbe89b71.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=0da61596-eec6-43f0-9a06-7035bbe89b71</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A list of some new WPF resources:
</p>
        <ul>
          <li>
Online hosted version of the Cube animation: <a href="http://wpf.netfx3.com/direct/cubeapp/CubeApp.xbap">http://wpf.netfx3.com/direct/cubeapp/CubeApp.xbap</a></li>
          <li>
New York Times: offline reader: <a href="http://www.nytimes.com/mem/reader_regi.html?_r=1">http://www.nytimes.com/mem/reader_regi.html?_r=1</a></li>
          <li>
WPF feature montage: <a href="http://wpf.netfx3.com/files/folders/code_snippets/entry3752.aspx">http://wpf.netfx3.com/files/folders/code_snippets/entry3752.aspx</a></li>
          <li>
XAML cruncher: <a href="http://www.charlespetzold.com/wpf/XamlCruncher/XamlCruncher.application">http://www.charlespetzold.com/wpf/XamlCruncher/XamlCruncher.application</a> </li>
          <li>
3D XAML: <a href="http://www.charlespetzold.com/blog/2006/09/120140.html">http://www.charlespetzold.com/blog/2006/09/120140.html</a></li>
        </ul>
        <p>
 
</p>
        <p>
More to come...<br /></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0da61596-eec6-43f0-9a06-7035bbe89b71" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>New WPF articles</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,0da61596-eec6-43f0-9a06-7035bbe89b71.aspx</guid>
      <link>http://www.snowball.be/2006/09/20/New+WPF+Articles.aspx</link>
      <pubDate>Wed, 20 Sep 2006 20:09:32 GMT</pubDate>
      <description>&lt;p&gt;
A list of some new WPF resources:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Online hosted version of the Cube animation: &lt;a href="http://wpf.netfx3.com/direct/cubeapp/CubeApp.xbap"&gt;http://wpf.netfx3.com/direct/cubeapp/CubeApp.xbap&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
New York Times: offline reader: &lt;a href="http://www.nytimes.com/mem/reader_regi.html?_r=1"&gt;http://www.nytimes.com/mem/reader_regi.html?_r=1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
WPF feature montage: &lt;a href="http://wpf.netfx3.com/files/folders/code_snippets/entry3752.aspx"&gt;http://wpf.netfx3.com/files/folders/code_snippets/entry3752.aspx&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
XAML cruncher: &lt;a href="http://www.charlespetzold.com/wpf/XamlCruncher/XamlCruncher.application"&gt;http://www.charlespetzold.com/wpf/XamlCruncher/XamlCruncher.application&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;
3D XAML: &lt;a href="http://www.charlespetzold.com/blog/2006/09/120140.html"&gt;http://www.charlespetzold.com/blog/2006/09/120140.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
More to come...&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0da61596-eec6-43f0-9a06-7035bbe89b71" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,0da61596-eec6-43f0-9a06-7035bbe89b71.aspx</comments>
      <category>Vista</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=9f248955-1547-438b-aa90-9e5ee8382a33</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,9f248955-1547-438b-aa90-9e5ee8382a33.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,9f248955-1547-438b-aa90-9e5ee8382a33.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=9f248955-1547-438b-aa90-9e5ee8382a33</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Is today "Release Day" or something? So many new releases...<br /><br />
Let's begin with IronPython, which reached status 1.0: 
<br /><br /><em>IronPython 1.0 has been released to the .NET community and is available on </em><a href="http://www.codeplex.com/"><font color="#355ea0"><em>CodePlex</em></font></a><em>. 
IronPython is an implementation of the Python dynamic programming language. 
IronPython is built on top of the .NET Framework and is interoperable
with other .NET languages.  Binaries, source code, and tutorials are available
at CodePlex.</em></p>
        <p>
          <em>Click </em>
          <a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=IronPython">
            <font color="#355ea0">
              <em>here</em>
            </font>
          </a>
          <em> to
download IronPython at CodePlex.<br /><br /></em>Another release is Expression Web Beta 1:<br /></p>
        <p>
          <em>We are pleased to present the Beta 1 release of Expression Web (formerly Expression
Web Designer).</em>
        </p>
        <p>
          <em>Expression Web is a professional design tool that helps you create and work with:</em>
        </p>
        <ul>
          <li>
            <em>Standards-based Web sites </em>
          </li>
          <li>
            <em>Sophisticated CSS-based layouts </em>
          </li>
          <li>
            <em>Extensive CSS formatting and management </em>
          </li>
          <li>
            <em>Rich data presentation </em>
          </li>
          <li>
            <em>Powerful ASP.NET 2.0-based technology </em>
          </li>
        </ul>
        <p>
          <em>To download, go </em>
          <a href="http://www.microsoft.com/products/expression/en/web_designer/wd_free_trial.aspx">
            <em>here</em>
          </a>
          <em>.</em>
          <br />
          <br />
Still going strong ;-) Next is WCF, which reached RC1 also.<br /><br /><em>The release candidate 1 for the .NET Framework 3.0 is now available!  You
can download the components for the RC1 here:</em></p>
        <ul>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=19E21845-F5E3-4387-95FF-66788825C1AF&amp;displaylang=en">
              <em>.NET
Framework 3.0 Runtime Components RC1</em>
            </a>
            <em>
            </em>
          </li>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=117ECFD3-98AD-4D67-87D2-E95A8407FA86&amp;displaylang=en">
              <em>Windows
SDK for Vista RC1 and the .NET Framework 3.0 RC1</em>
            </a>
            <em>
            </em>
          </li>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?familyid=E8232F93-48F0-4E74-B09D-B51F1D4231A4&amp;displaylang=en">
              <em>Visual
Studio 2005 Extensions for Windows Workflow Foundation (WF RC5)</em>
            </a>
          </li>
        </ul>
        <p>
          <a href="http://www.netfx3.com/blogs/news_and_announcements/archive/2006/09/05/5479.aspx">
            <em>More
info on RC1</em>
          </a>
          <em>.</em>
          <br />
          <br />
          <br />
The Interactive Designer got updated, and now the September CTP is available:<br /><em>Microsoft® Expression® Interactive Designer September 2006 Community Technology
Preview (CTP) is a professional design tool used to create engaging, rich user interfaces
for desktop and Web applications.<br /><br />
To download, go </em><a href="http://www.microsoft.com/downloads/details.aspx?familyid=ebf7a3f3-4b55-4c2c-a43a-b977446a131a&amp;displaylang=en"><em>here</em></a><em>.<br /><br /></em>To finish, this one isn't actually released as of yet, but it's an interesting
project being researched at MS:<br /><br /><em>Microsoft researchers are experimenting with an automatic code zapper for the
company's Internet Explorer Web browser. </em></p>
        <p>
          <em>Researchers at the Redmond, Wash., company have completed work on a prototype
framework called BrowserShield that promises to allow IE to intercept and remove,
on the fly, malicious code hidden on Web pages, instead showing users safe equivalents
of those pages. </em>
        </p>
        <p>
          <em>The BrowserShield project—the brainchild of Helen Wang, a project leader in Microsoft
Research's Systems &amp; Networking Research Group, and an outgrowth of the company's
Shield initiative to block network worms—could one day even become Microsoft's answer
to zero-day browser exploits such as the WMF (Windows Metafile) attack that spread
like wildfire in December 2005.<br />
More <a href="http://www.eweek.com/article2/0,1759,2011765,00.asp?kc=EWRSS03119TX1K0000594">here</a>.</em>
        </p>
        <p>
That's all folks ;-)
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9f248955-1547-438b-aa90-9e5ee8382a33" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Lots of new releases</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,9f248955-1547-438b-aa90-9e5ee8382a33.aspx</guid>
      <link>http://www.snowball.be/2006/09/06/Lots+Of+New+Releases.aspx</link>
      <pubDate>Wed, 06 Sep 2006 20:12:58 GMT</pubDate>
      <description>&lt;p&gt;
Is today "Release Day" or something? So many new releases...&lt;br&gt;
&lt;br&gt;
Let's begin with IronPython, which reached status 1.0: 
&lt;br&gt;
&lt;br&gt;
&lt;em&gt;IronPython 1.0 has been released to the .NET community and is available on &lt;/em&gt;&lt;a href="http://www.codeplex.com/"&gt;&lt;font color=#355ea0&gt;&lt;em&gt;CodePlex&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;em&gt;.&amp;nbsp;
IronPython is an implementation of the Python dynamic programming language.&amp;nbsp;
IronPython is&amp;nbsp;built on top of the .NET Framework&amp;nbsp;and is&amp;nbsp;interoperable
with other .NET languages.&amp;nbsp; Binaries, source code, and tutorials are available
at CodePlex.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Click &lt;/em&gt;&lt;a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=IronPython"&gt;&lt;font color=#355ea0&gt;&lt;em&gt;here&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;em&gt; to
download IronPython at CodePlex.&lt;br&gt;
&lt;br&gt;
&lt;/em&gt;Another release is Expression Web Beta 1:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;We are pleased to present the Beta 1 release of Expression Web (formerly Expression
Web Designer).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Expression Web is a professional design tool that helps you create and work with:&lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Standards-based Web sites &lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Sophisticated CSS-based layouts &lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Extensive CSS formatting and management &lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Rich data presentation &lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Powerful ASP.NET 2.0-based technology &lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;em&gt;To download, go &lt;/em&gt;&lt;a href="http://www.microsoft.com/products/expression/en/web_designer/wd_free_trial.aspx"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;
&lt;br&gt;
&lt;br&gt;
Still going strong ;-) Next is WCF, which reached RC1 also.&lt;br&gt;
&lt;br&gt;
&lt;em&gt;The release candidate 1 for the .NET Framework 3.0 is now available!&amp;nbsp;&amp;nbsp;You
can download the components for the RC1 here:&lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=19E21845-F5E3-4387-95FF-66788825C1AF&amp;amp;displaylang=en"&gt;&lt;em&gt;.NET
Framework 3.0 Runtime Components&amp;nbsp;RC1&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt; 
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=117ECFD3-98AD-4D67-87D2-E95A8407FA86&amp;amp;displaylang=en"&gt;&lt;em&gt;Windows
SDK for Vista RC1 and the .NET Framework 3.0 RC1&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt; 
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E8232F93-48F0-4E74-B09D-B51F1D4231A4&amp;amp;displaylang=en"&gt;&lt;em&gt;Visual
Studio 2005 Extensions for Windows Workflow Foundation (WF RC5)&lt;/em&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href="http://www.netfx3.com/blogs/news_and_announcements/archive/2006/09/05/5479.aspx"&gt;&lt;em&gt;More
info on RC1&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
The Interactive Designer got updated, and now the September CTP is available:&lt;br&gt;
&lt;em&gt;Microsoft® Expression® Interactive Designer September 2006 Community Technology
Preview (CTP) is a professional design tool used to create engaging, rich user interfaces
for desktop and Web applications.&lt;br&gt;
&lt;br&gt;
To download, go &lt;/em&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=ebf7a3f3-4b55-4c2c-a43a-b977446a131a&amp;amp;displaylang=en"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;br&gt;
&lt;br&gt;
&lt;/em&gt;To finish, this one isn't actually released as of yet, but it's an interesting
project being researched at MS:&lt;br&gt;
&lt;br&gt;
&lt;em&gt;Microsoft researchers are experimenting with an automatic code zapper for the
company's Internet Explorer Web browser. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Researchers at the Redmond, Wash., company have completed work on a prototype
framework called BrowserShield that promises to allow IE to intercept and remove,
on the fly, malicious code hidden on Web pages, instead showing users safe equivalents
of those pages. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The BrowserShield project—the brainchild of Helen Wang, a project leader in Microsoft
Research's Systems &amp;amp; Networking Research Group, and an outgrowth of the company's
Shield initiative to block network worms—could one day even become Microsoft's answer
to zero-day browser exploits such as the WMF (Windows Metafile) attack that spread
like wildfire in December 2005.&lt;br&gt;
More &lt;a href="http://www.eweek.com/article2/0,1759,2011765,00.asp?kc=EWRSS03119TX1K0000594"&gt;here&lt;/a&gt;.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
That's all folks ;-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9f248955-1547-438b-aa90-9e5ee8382a33" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,9f248955-1547-438b-aa90-9e5ee8382a33.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Microsoft</category>
      <category>Programming</category>
      <category>Software/Microsoft</category>
      <category>Vista</category>
      <category>Windows</category>
      <category>WinFX</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=8a19335e-8ec5-4088-82e0-6517000be2cb</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,8a19335e-8ec5-4088-82e0-6517000be2cb.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,8a19335e-8ec5-4088-82e0-6517000be2cb.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=8a19335e-8ec5-4088-82e0-6517000be2cb</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
My new bible has arrived :-)<br /><br /></p>
        <img src="http://www.snowball.be/content/binary/appcodemarkup.jpg" border="0" />
        <br />
        <br />
Appearantly, one of the first in Europe, since the release was scheduled for 13th
September in the US.<br /><br />
At first glace, it seems a very complete book, covering every aspect in WPF. I'll
be posting a review later when I have read more in the book...<br /><br />
From Amazon.com:<br /><em>In this book, Windows programming legend Charles Petzold covers in parallel the
two interfaces that make up the Windows Presentation Foundation (WPF). From the outset,
the reader can shift focus seamlessly between Extensible Application Markup Language
(XAML) and C# to see them as flip sides of the same processes. Beginning in the first
chapter, Petzold presents the general syntax of the XAML and corresponding programming
code with numerous illuminating examples on how the two correspond and interrelate.
The book builds on this base, providing the classic Petzold Windows user interface
(UI) treatment, to show Windows developers how to create next-generation interfaces
for their applications. 
<br /></em><br /><img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=8a19335e-8ec5-4088-82e0-6517000be2cb" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Yes, it's here!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,8a19335e-8ec5-4088-82e0-6517000be2cb.aspx</guid>
      <link>http://www.snowball.be/2006/09/06/Yes+Its+Here.aspx</link>
      <pubDate>Wed, 06 Sep 2006 19:59:07 GMT</pubDate>
      <description>&lt;p&gt;
My new bible has arrived :-)&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img src="http://www.snowball.be/content/binary/appcodemarkup.jpg" border=0&gt;
&lt;br&gt;
&lt;br&gt;
Appearantly, one of the first in Europe, since the release was scheduled for 13th
September in the US.&lt;br&gt;
&lt;br&gt;
At first glace, it seems a very complete book, covering every aspect in WPF. I'll
be posting a review later when I have read more in the book...&lt;br&gt;
&lt;br&gt;
From Amazon.com:&lt;br&gt;
&lt;em&gt;In this book, Windows programming legend Charles Petzold covers in parallel the
two interfaces that make up the Windows Presentation Foundation (WPF). From the outset,
the reader can shift focus seamlessly between Extensible Application Markup Language
(XAML) and C# to see them as flip sides of the same processes. Beginning in the first
chapter, Petzold presents the general syntax of the XAML and corresponding programming
code with numerous illuminating examples on how the two correspond and interrelate.
The book builds on this base, providing the classic Petzold Windows user interface
(UI) treatment, to show Windows developers how to create next-generation interfaces
for their applications. 
&lt;br&gt;
&lt;/em&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=8a19335e-8ec5-4088-82e0-6517000be2cb" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,8a19335e-8ec5-4088-82e0-6517000be2cb.aspx</comments>
      <category>.net</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=dbdf7a54-6388-4c89-ad86-30120dcbf905</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,dbdf7a54-6388-4c89-ad86-30120dcbf905.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,dbdf7a54-6388-4c89-ad86-30120dcbf905.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=dbdf7a54-6388-4c89-ad86-30120dcbf905</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In this tutorial, I'm going to explain several 2D effects that can be performed on
images, using only XAML code. By the end of this tutorial, you'll know:
</p>
        <ul>
          <li>
how to create image refections 
</li>
          <li>
how to skew images 
</li>
          <li>
how to drop shadows</li>
        </ul>
        <p>
So let's get to it!<br /><br />
Create an empty WinFX application. We'll use the Window1.xaml. 
<br />
Make the background of the image somewhat darker, so we can better see the effects
we'll create further on. For this, simply use the Window.Background property. Also,
set the Height to 600 and Width to 800.<br /><br /><font face="Courier New">&lt;Window x:Class="Reflection.Window1"<br />
   xmlns="</font><a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;"><font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml/presentation"</font></a><br /><font face="Courier New">   xmlns:x="</font><a href="http://schemas.microsoft.com/winfx/2006/xaml&quot;"><font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml"</font></a><br /><font face="Courier New">   Title="Reflection" Height="600" Width="800" <br />
   Background="#CCCCCC"<br />
&gt;</font><br /><br /><strong>Add the image to your project<br /></strong>Select an image to include in your project. I'll do this tutorial with the
image included in my project, but you can of course use any image you want. The image
has to be included in your project. Once included, go to the properties window, and
with the image selected in the solution explorer, set the "Build Action" to "Content"
and "Copy to output directory" to "Copy always". This ensures that the image will
be available when running the project.<br /><br /><strong>Let's XAML<br /></strong>Finally, we're ready to do some XAML'ing (don't know if that is already a
word, but I vote it should become one though!).<br />
Since we will not be needing any advanced layout of the window, we'll use a simple
StackPanel. By default, a stackpanel places all content it receives in 1 invisible
vertical column. That's enough for this sample.<br /><br />
So, delete the <font face="Courier New">&lt;Grid&gt;</font> and <font face="Courier New">&lt;/Grid&gt;</font> and
replace them with &lt;StackPanel&gt; and &lt;/StackPanel&gt;.<br /><br />
For the image effects, we'll need ... an image. Add an simple image element to begin
with. Also, give it a name, we'll be needing this name later on. Use the following
code:<br /><br /><font face="Courier New">&lt;Image Source="image.jpg" Width="200" Height="300" x:Name="myImage"&gt;&lt;/Image&gt;<br /></font><br />
We'll now start adding the reflection effect. For reflections, the VisualBrush is
very handy.<br />
What is the VisualBrush? It's a brush, like DrawingBrush, but it can paint with the
contents of any other visual element that derives from Visual. Since Visual is the
base class of all UI elements in WPF, you can paint with almost any markup in a VisualBrush.<br />
Before we can reflect our image, we must add an element in which we can make the reflection
appear. You can do this with a Rectangle, a Border...<br />
For now, I'll use the Border. Add the Border element to the same StackPanel where
you put the image. Since it's a StackPanel, the border is put below the Image (you
can visualize this by setting the Background to some color).<br /><br /><font face="Courier New">&lt;Border Width="210" Height="300"&gt;&lt;/Border&gt;</font><br /><br />
Now, we'll use the recently introduced VisualBrush to fill the background of the Border
with the contents of the image (this is why we needed to name the image!).<br />
Add a VisualBrush to the Border like so:<br /><br /><font face="Courier New">&lt;Border.Background&gt;<br />
   &lt;VisualBrush Visual="{Binding ElementName=myImage}"&gt;<br />
   &lt;/VisualBrush&gt;<br />
&lt;/Border.Background&gt;</font></p>
        <p>
          <br />
You should now see something like this:<br /><br /><a href="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample22.jpg" atomicselection="true"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="272" src="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample2_thumb.jpg" width="367" border="0" /></a></p>
        <p>
Of course, for a reflection, we need a mirror effect. This can be achieved by adding
a ScaleTransform on the VisualBrush. By providing a value of -1, the image will be
flipped around the Y-axis.
</p>
        <p>
          <font face="Courier New">&lt;VisualBrush.Transform&gt;<br />
   &lt;ScaleTransform ScaleX="1" ScaleY="-1" CenterX="200" CenterY="150"&gt;&lt;/ScaleTransform&gt;<br />
&lt;/VisualBrush.Transform&gt;</font>
        </p>
        <p>
Now, to complete the reflection-part of this tutorial, we'll add an OpacityMask to
the Border. With this in place, we can make the reflected image fade out into the
backgroud, creating a nice effect. 
<br /><br /><font face="Courier New">&lt;Border.OpacityMask&gt;<br />
   &lt;LinearGradientBrush StartPoint="0,0" EndPoint="0,1"&gt;<br />
      &lt;GradientStop Offset="0" Color="Black"&gt;&lt;/GradientStop&gt;<br />
      &lt;GradientStop Offset="0.6" Color="Transparent"&gt;&lt;/GradientStop&gt;<br />
   &lt;/LinearGradientBrush&gt;<br />
&lt;/Border.OpacityMask&gt;</font></p>
        <p>
This again uses a LinearGradientBrush, with the color being Transparant from 0.6 on.
This means that at 60% of the reflected image, nothing can be seen anymore.<br /><br />
We'll also add a border around the original image in this code. Add the following
code around your image element:<br /><br /><font face="Courier New">&lt;Border BorderBrush="White" BorderThickness="5" HorizontalAlignment="Center"
VerticalAlignment="Center"&gt;<br />
...<br />
&lt;/Border&gt;<br /></font><br />
Your code should now look like the following:<br /></p>
        <p>
          <font face="Courier New">&lt;StackPanel&gt;<br />
   &lt;Border BorderBrush="White" BorderThickness="5" HorizontalAlignment="Center"
VerticalAlignment="Center"&gt;<br />
      &lt;Image Source="image.jpg" Width="200" Height="300"
Stretch="Fill" x:Name="myImage"&gt;&lt;/Image&gt;<br />
   &lt;/Border&gt;<br />
   &lt;Border Width="210" Height="300"&gt;<br />
      &lt;Border.Background&gt;<br />
         &lt;VisualBrush Visual="{Binding
ElementName=myImage}"&gt;<br />
            &lt;VisualBrush.Transform&gt;<br />
               &lt;ScaleTransform
ScaleX="1" ScaleY="-1" CenterX="200" CenterY="150"&gt;&lt;/ScaleTransform&gt;<br />
            &lt;/VisualBrush.Transform&gt;<br />
         &lt;/VisualBrush&gt;<br />
      &lt;/Border.Background&gt;<br />
      &lt;Border.OpacityMask&gt;<br />
         &lt;LinearGradientBrush StartPoint="0,0"
EndPoint="0,1"&gt;<br />
            &lt;GradientStop
Offset="0" Color="Black"&gt;&lt;/GradientStop&gt;<br />
            &lt;GradientStop
Offset="0.6" Color="Transparent"&gt;&lt;/GradientStop&gt;<br />
         &lt;/LinearGradientBrush&gt;<br />
      &lt;/Border.OpacityMask&gt;<br />
   &lt;/Border&gt;<br />
&lt;/StackPanel&gt;<br /></font>
          <br />
And the result should resemble this:<br /><br /><a href="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample32.jpg" atomicselection="true"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="223" src="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample3_thumb.jpg" width="299" border="0" /></a><br /><br /><strong>Skew and Shadows<br /></strong>In the latest part of this tutorial, I'm going to add a shadow to the original
image, and skew both the images, to create a 3D effect.<br />
First, the shadow. Shadows are created using a BitmapEffect. A bitmap effect takes
visual content as input and produces a new surface by applying one or more image filters,
such as a blur or a drop shadow. Currently, there are, among other, the DropShadowEffect,
the BlurBitmapEffect and the EmbossBitmapEffect. More might be added later. We'll
focus on the DropShadowEffect for now. Information on the other effects can be found
in the Windows SDK.<br /><br />
Add the following code to the Border where the original images resides:<br /></p>
        <p>
          <font face="Courier New">&lt;Border.BitmapEffect&gt;<br />
   &lt;BitmapEffectGroup&gt;<br />
      &lt;DropShadowBitmapEffect Color="Black" Direction="20"
ShadowDepth="25" Softness="1" <br />
         Opacity="0.5"/&gt;<br />
   &lt;/BitmapEffectGroup&gt;<br />
&lt;/Border.BitmapEffect&gt;</font>
        </p>
        <p>
This adds the dropshadow to the white border containing the image. These properties
are self-explaining, so I'm not going any deeper into this.<br /><br />
Now, to finish, we have to skew both the image and the reflection to create the effect
of depth. For this, we'll again use a transformation, this time a RenderTransform.
The Angle-properties provided indicate the angle for the rotation.<br />
The following code has to be added to the original image. 
</p>
        <p>
          <font face="Courier New">&lt;Border.RenderTransform&gt;<br />
   &lt;SkewTransform CenterX="0" CenterY="0" AngleX="0" AngleY="10"
/&gt;<br />
&lt;/Border.RenderTransform&gt;</font>
        </p>
        <p>
The reflection needs a re-centering, so we provide a value for the CenterX and CenterY
properties.<br /><br />
The result you get should like the following:<br /><br /><a href="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample43.jpg" atomicselection="true"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="288" src="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample4_thumb1.jpg" width="388" border="0" /></a><br /><br />
I hope this WPF example can help you in creating great layouts with this fantastic
new language!<br /><br />
The complete solution can be downloaded below.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/ImageEffects.zip">ImageEffects.zip
(120.66 KB)</a>
          <br />
          <br />
Note that you need Visual Studio 2005/Visual C# Express with .net 3.0 installed. This
code is tested with the June CTP.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=dbdf7a54-6388-4c89-ad86-30120dcbf905" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF tutorial: how to create great image effects with WPF/XAML</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,dbdf7a54-6388-4c89-ad86-30120dcbf905.aspx</guid>
      <link>http://www.snowball.be/2006/08/18/WPF+Tutorial+How+To+Create+Great+Image+Effects+With+WPFXAML.aspx</link>
      <pubDate>Fri, 18 Aug 2006 21:15:10 GMT</pubDate>
      <description>&lt;p&gt;
In this tutorial, I'm going to explain several 2D effects that can be performed on
images, using only XAML code. By the end of this tutorial, you'll know:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
how to create image refections 
&lt;li&gt;
how to skew images 
&lt;li&gt;
how to drop shadows&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
So let's get to it!&lt;br&gt;
&lt;br&gt;
Create an empty WinFX application. We'll use the Window1.xaml. 
&lt;br&gt;
Make the background of the image somewhat darker, so we can better see the effects
we'll create further on. For this, simply use the Window.Background property. Also,
set the Height to 600 and Width to 800.&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Window x:Class="Reflection.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"'&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;font 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"'&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml"&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title="Reflection" Height="600" Width="800"&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Background="#CCCCCC"&lt;br&gt;
&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Add the image to your project&lt;br&gt;
&lt;/strong&gt;Select an image to include in your project. I'll do this tutorial with the
image included in my project, but you can of course use any image you want. The image
has to be included in your project. Once included, go to the properties window, and
with the image selected in the solution explorer, set the "Build Action" to "Content"
and "Copy to output directory" to "Copy always". This ensures that the image will
be available when running the project.&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Let's XAML&lt;br&gt;
&lt;/strong&gt;Finally, we're ready to do some XAML'ing (don't know if that is already a
word, but I vote it should become one though!).&lt;br&gt;
Since we will not be needing any advanced layout of the window, we'll use a simple
StackPanel. By default, a stackpanel places all content it receives in 1 invisible
vertical column. That's enough for this sample.&lt;br&gt;
&lt;br&gt;
So, delete the &lt;font face="Courier New"&gt;&amp;lt;Grid&amp;gt;&lt;/font&gt; and &lt;font face="Courier New"&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt; and
replace them with &amp;lt;StackPanel&amp;gt; and &amp;lt;/StackPanel&amp;gt;.&lt;br&gt;
&lt;br&gt;
For the image effects, we'll need ... an image. Add an simple image element to begin
with. Also, give it a name, we'll be needing this name later on. Use the following
code:&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Image Source="image.jpg" Width="200" Height="300" x:Name="myImage"&amp;gt;&amp;lt;/Image&amp;gt;&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
We'll now start adding the reflection effect. For reflections, the VisualBrush is
very handy.&lt;br&gt;
What is the VisualBrush? It's a brush, like DrawingBrush, but it can paint with the
contents of any other visual element that derives from Visual. Since Visual is the
base class of all UI elements in WPF, you can paint with almost any markup in a VisualBrush.&lt;br&gt;
Before we can reflect our image, we must add an element in which we can make the reflection
appear. You can do this with a Rectangle, a Border...&lt;br&gt;
For now, I'll use the Border. Add the Border element to the same StackPanel where
you put the image. Since it's a StackPanel, the border is put below the Image (you
can visualize this by setting the Background to some color).&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Border Width="210" Height="300"&amp;gt;&amp;lt;/Border&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
Now, we'll use the recently introduced VisualBrush to fill the background of the Border
with the contents of the image (this is why we needed to name the image!).&lt;br&gt;
Add a VisualBrush to the Border like so:&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Border.Background&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;VisualBrush Visual="{Binding ElementName=myImage}"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/VisualBrush&amp;gt;&lt;br&gt;
&amp;lt;/Border.Background&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
You should now see something like this:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample22.jpg" atomicselection="true"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=272 src="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample2_thumb.jpg" width=367 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Of course, for a reflection, we need a mirror effect. This can be achieved by adding
a ScaleTransform on the VisualBrush. By providing a value of -1, the image will be
flipped around the Y-axis.
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;VisualBrush.Transform&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ScaleTransform ScaleX="1" ScaleY="-1" CenterX="200" CenterY="150"&amp;gt;&amp;lt;/ScaleTransform&amp;gt;&lt;br&gt;
&amp;lt;/VisualBrush.Transform&amp;gt;&lt;/font&gt; 
&lt;p&gt;
Now, to complete the reflection-part of this tutorial, we'll add an OpacityMask to
the Border. With this in place, we can make the reflected image fade out into the
backgroud, creating a nice effect. 
&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Border.OpacityMask&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;LinearGradientBrush StartPoint="0,0" EndPoint="0,1"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;GradientStop Offset="0" Color="Black"&amp;gt;&amp;lt;/GradientStop&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;GradientStop Offset="0.6" Color="Transparent"&amp;gt;&amp;lt;/GradientStop&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/LinearGradientBrush&amp;gt;&lt;br&gt;
&amp;lt;/Border.OpacityMask&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
This again uses a LinearGradientBrush, with the color being Transparant from 0.6 on.
This means that at 60% of the reflected image, nothing can be seen anymore.&lt;br&gt;
&lt;br&gt;
We'll also add a border around the original image in this code. Add the following
code around your image element:&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Border BorderBrush="White" BorderThickness="5" HorizontalAlignment="Center"
VerticalAlignment="Center"&amp;gt;&lt;br&gt;
...&lt;br&gt;
&amp;lt;/Border&amp;gt;&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
Your code should now look like the following:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;StackPanel&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Border BorderBrush="White" BorderThickness="5" HorizontalAlignment="Center"
VerticalAlignment="Center"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Image Source="image.jpg" Width="200" Height="300"
Stretch="Fill" x:Name="myImage"&amp;gt;&amp;lt;/Image&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Border&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Border Width="210" Height="300"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Border.Background&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;VisualBrush Visual="{Binding
ElementName=myImage}"&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;lt;VisualBrush.Transform&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;ScaleTransform
ScaleX="1" ScaleY="-1" CenterX="200" CenterY="150"&amp;gt;&amp;lt;/ScaleTransform&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;lt;/VisualBrush.Transform&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/VisualBrush&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Border.Background&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Border.OpacityMask&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;LinearGradientBrush StartPoint="0,0"
EndPoint="0,1"&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;lt;GradientStop
Offset="0" Color="Black"&amp;gt;&amp;lt;/GradientStop&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;lt;GradientStop
Offset="0.6" Color="Transparent"&amp;gt;&amp;lt;/GradientStop&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/LinearGradientBrush&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Border.OpacityMask&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Border&amp;gt;&lt;br&gt;
&amp;lt;/StackPanel&amp;gt;&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
And the result should resemble this:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample32.jpg" atomicselection="true"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=223 src="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample3_thumb.jpg" width=299 border=0&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Skew and Shadows&lt;br&gt;
&lt;/strong&gt;In the latest part of this tutorial, I'm going to add a shadow to the original
image, and skew&amp;nbsp;both the images, to create a 3D effect.&lt;br&gt;
First, the shadow. Shadows are created using a BitmapEffect. A bitmap effect takes
visual content as input and produces a new surface by applying one or more image filters,
such as a blur or a drop shadow. Currently, there are, among other, the DropShadowEffect,
the BlurBitmapEffect and the EmbossBitmapEffect. More might be added later. We'll
focus on the DropShadowEffect for now. Information on the other effects can be found
in the Windows SDK.&lt;br&gt;
&lt;br&gt;
Add the following code to the Border where the original images resides:&lt;br&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;Border.BitmapEffect&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;BitmapEffectGroup&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;DropShadowBitmapEffect Color="Black" Direction="20"
ShadowDepth="25" Softness="1"&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Opacity="0.5"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/BitmapEffectGroup&amp;gt;&lt;br&gt;
&amp;lt;/Border.BitmapEffect&amp;gt;&lt;/font&gt; 
&lt;p&gt;
This adds the dropshadow to the white border containing the image. These properties
are self-explaining, so I'm not going any deeper into this.&lt;br&gt;
&lt;br&gt;
Now, to finish, we have to skew both the image and the reflection to create the effect
of depth. For this, we'll again use a transformation, this time a RenderTransform.
The Angle-properties provided indicate the angle for the rotation.&lt;br&gt;
The following code has to be added to the original image. 
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;Border.RenderTransform&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;SkewTransform CenterX="0" CenterY="0" AngleX="0" AngleY="10"
/&amp;gt;&lt;br&gt;
&amp;lt;/Border.RenderTransform&amp;gt;&lt;/font&gt; 
&lt;p&gt;
The reflection needs a re-centering, so we provide a value for the CenterX and CenterY
properties.&lt;br&gt;
&lt;br&gt;
The result you get should like the following:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample43.jpg" atomicselection="true"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=288 src="http://www.snowball.be/content/binary/WPFtutorialhowtocreategreatimageeffectsw_12DE0/2Dsample4_thumb1.jpg" width=388 border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
I hope this WPF example can help you in creating great layouts with this fantastic
new language!&lt;br&gt;
&lt;br&gt;
The complete solution can be downloaded below.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/ImageEffects.zip"&gt;ImageEffects.zip
(120.66 KB)&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Note that you need Visual Studio 2005/Visual C# Express with .net 3.0 installed. This
code is tested with the June CTP.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=dbdf7a54-6388-4c89-ad86-30120dcbf905" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,dbdf7a54-6388-4c89-ad86-30120dcbf905.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Programming</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=bfa7e03e-1b64-4d68-8455-a402362e987b</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,bfa7e03e-1b64-4d68-8455-a402362e987b.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,bfa7e03e-1b64-4d68-8455-a402362e987b.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=bfa7e03e-1b64-4d68-8455-a402362e987b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm through with learning WPF (Windows Presentation Foundation), so now I'll have
more time to write some samples for my blog, so everybode can start learning a little
on WPF (that double-U-P-F ;-) ).<br /><br />
Today, I'm going to show you a small sample, in which I use a gradient and a storyboard
to create a sort of a flashing circle. This could be used to draw the user's attention
to something in the UI.<br /><br />
Here is the sample code:<br /><br /></p>
        <p>
          <font face="Courier New">&lt;Page xmlns="</font>
          <a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">
            <font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml/presentation"</font>
          </a>
          <br />
          <font face="Courier New">xmlns:x=</font>
          <a href="http://schemas.microsoft.com/winfx/2006/xaml">
            <font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml</font>
          </a>
          <font face="Courier New">
            <br />
          </font>
          <font face="Courier New">WindowTitle="www.snowball.be - WPF Examples" Background="White"&gt;<br />
&lt;DockPanel&gt;<br />
   &lt;Ellipse Width="200" Height="200" Name="MyEllipse"&gt;<br />
      &lt;Ellipse.Fill&gt;<br />
         &lt;RadialGradientBrush &gt;<br />
            &lt;GradientStop
Offset="0" Color="#CCCCCCCC" /&gt;<br />
            &lt;GradientStop
Offset="0.5" Color="white" /&gt;<br />
            &lt;GradientStop
Offset="1" Color="black"/&gt;<br />
         &lt;/RadialGradientBrush &gt;<br />
      &lt;/Ellipse.Fill&gt;<br />
   &lt;/Ellipse&gt;<br />
&lt;DockPanel.Triggers&gt;<br />
   &lt;EventTrigger RoutedEvent="Page.Loaded"&gt;<br />
      &lt;BeginStoryboard Name="MyBeginStoryBoard"&gt;<br />
         &lt;Storyboard Name="MyStoryBoard"&gt;<br />
            &lt;DoubleAnimation
Storyboard.TargetName="MyEllipse" Storyboard.TargetProperty="(Ellipse.Height)" <br />
               From="0"
To="200" AutoReverse="true"<br />
               RepeatBehavior="0:0:10"
BeginTime="0:0:0" /&gt;<br />
            &lt;DoubleAnimation
Storyboard.TargetName="MyEllipse" Storyboard.TargetProperty="(Ellipse.Width)" <br />
               From="0"
To="200" AutoReverse="true"<br />
               RepeatBehavior="0:0:10"
BeginTime="0:0:0" /&gt;<br />
         &lt;/Storyboard&gt;<br />
      &lt;/BeginStoryboard&gt;<br />
   &lt;/EventTrigger&gt;<br />
&lt;/DockPanel.Triggers&gt;<br />
&lt;/DockPanel&gt;<br />
&lt;/Page&gt;<br /></font>
          <br />
First, I create an circle, which is actually an ellipse with identical width and height
(one could also use the RadiusX and RadiusY properties, the result would be the same). 
<br /><br /><font face="Courier New">&lt;Ellipse Width="200" Height="200" Name="MyEllipse"&gt;</font><br /><br />
Then, we use a Brush, in this case, the RadialGradientBrush, to create a gradient
fill in the ellipse. No longer are the "GradientStops" or the "GradientStopsCollection"
tags neccessary (they were in previous CTP's, but now they can be omitted).<br />
To specify the colors, we use several GradientStop elements. The offset specifies
where the color should "start". This is a relative value, and thus can't be more than
1. In this case, I specify 3 colors.<br /><br /><font face="Courier New">&lt;GradientStop Offset="0" Color="#CCCCCCCC" /&gt;<br />
&lt;GradientStop Offset="0.5" Color="white" /&gt;<br />
&lt;GradientStop Offset="1" Color="black"/&gt;<br /></font><br />
Now, to create the flashing effect, we have to use an animation. To start the animation,
we use a trigger, in this case, an event trigger, which is routed to the Loaded event.
This results in the trigger firing when the page loads. 
<br /><br /><font face="Courier New">&lt;EventTrigger RoutedEvent="Page.Loaded"&gt;</font><br /><br />
For the animation itself, we use the storyboard. In this storyboard, which is like
the name says, a series of steps that will be executed. You can compare it to a band
of drawings that form a comic.<br />
The storyboard thus consists of several animations. In this case, I use a DoubleAnimation,
because the property I'm going to change, is of value Double: I'm going to alter the
Height and Width property of the Ellipse. These are indeed Double values.<br /><br />
In the first animation, I specify that I want to animate the ellipse I created earlier,
by setting the TargetName, and the property I want to change is the Height. In the
From and the To properties, I specify what the values for the Height should be. In
this case, I want the ellipse to pop up out of nothing, so I set the From to 0 and
the To to 200. 
<br /><br />
The RepeatBehavior property specifies how long this animation should repeat, in this
case, I set it to 10 seconds. Note that several animations can have different RepeatBehaviors:
one can go one longer than the other. The BeginTime simply specifies when the animation
should start: you can build in a delay.<br />
Finally, the AutoReverse property indicates that WPF should reverse the animation
after completed.<br /><br />
The second animation does essentially the same, but for the width.<br />
Both these animations can't be grouped into one, which is a pity.<br /><br />
The result looks like this:<br /><br /></p>
        <img height="510" src="http://www.snowball.be/content/binary/WPFanimation.JPG" width="762" border="0" />
        <br />
        <br />
        <a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/WPF+Examples+A+Small+Example+On+Animation+And+Gradients.aspx">
          <img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.snowball.be/WPF+Examples+A+Small+Example+On+Animation+And+Gradients.aspx" border="0" />
        </a>
        <br />
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bfa7e03e-1b64-4d68-8455-a402362e987b" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF Examples: a small example on animation and gradients</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,bfa7e03e-1b64-4d68-8455-a402362e987b.aspx</guid>
      <link>http://www.snowball.be/2006/08/18/WPF+Examples+A+Small+Example+On+Animation+And+Gradients.aspx</link>
      <pubDate>Fri, 18 Aug 2006 16:37:02 GMT</pubDate>
      <description>&lt;p&gt;
I'm through with learning WPF (Windows Presentation Foundation), so now I'll have
more time to write some samples for my blog, so everybode can start learning a little
on WPF (that double-U-P-F ;-) ).&lt;br&gt;
&lt;br&gt;
Today, I'm going to show you a small sample, in which I use a gradient and a storyboard
to create a sort of a flashing circle. This could be used to draw the user's attention
to something in the UI.&lt;br&gt;
&lt;br&gt;
Here is the sample code:&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;Page xmlns="&lt;/font&gt;&lt;a href='http://schemas.microsoft.com/winfx/2006/xaml/presentation"'&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;xmlns:x=&lt;/font&gt;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt; 
&lt;br&gt;
&lt;/font&gt;&lt;font face="Courier New"&gt;WindowTitle="www.snowball.be - WPF Examples" Background="White"&amp;gt;&lt;br&gt;
&amp;lt;DockPanel&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Ellipse Width="200" Height="200" Name="MyEllipse"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Ellipse.Fill&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;RadialGradientBrush &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;lt;GradientStop
Offset="0" Color="#CCCCCCCC" /&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;lt;GradientStop
Offset="0.5" Color="white" /&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;lt;GradientStop
Offset="1" Color="black"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/RadialGradientBrush &amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Ellipse.Fill&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Ellipse&amp;gt;&lt;br&gt;
&amp;lt;DockPanel.Triggers&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;EventTrigger RoutedEvent="Page.Loaded"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;BeginStoryboard Name="MyBeginStoryBoard"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Storyboard Name="MyStoryBoard"&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;lt;DoubleAnimation
Storyboard.TargetName="MyEllipse" Storyboard.TargetProperty="(Ellipse.Height)"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;From="0"
To="200" AutoReverse="true"&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;RepeatBehavior="0:0:10"
BeginTime="0:0:0" /&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;lt;DoubleAnimation
Storyboard.TargetName="MyEllipse" Storyboard.TargetProperty="(Ellipse.Width)"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;From="0"
To="200" AutoReverse="true"&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;RepeatBehavior="0:0:10"
BeginTime="0:0:0" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Storyboard&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/BeginStoryboard&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/EventTrigger&amp;gt;&lt;br&gt;
&amp;lt;/DockPanel.Triggers&amp;gt;&lt;br&gt;
&amp;lt;/DockPanel&amp;gt;&lt;br&gt;
&amp;lt;/Page&amp;gt;&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
First, I create an circle, which is actually an ellipse with identical width and height
(one could also use the RadiusX and RadiusY properties, the result would be the same). 
&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Ellipse Width="200" Height="200" Name="MyEllipse"&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
Then, we use a Brush, in this case, the RadialGradientBrush, to create a gradient
fill in the ellipse. No longer are the "GradientStops" or the "GradientStopsCollection"
tags neccessary (they were in previous CTP's, but now they can be omitted).&lt;br&gt;
To specify the colors, we use several GradientStop elements. The offset specifies
where the color should "start". This is a relative value, and thus can't be more than
1. In this case, I specify 3 colors.&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;GradientStop Offset="0" Color="#CCCCCCCC" /&amp;gt;&lt;br&gt;
&amp;lt;GradientStop Offset="0.5" Color="white" /&amp;gt;&lt;br&gt;
&amp;lt;GradientStop Offset="1" Color="black"/&amp;gt;&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
Now, to create the flashing effect, we have to use an animation. To start the animation,
we use a trigger, in this case, an event trigger, which is routed to the Loaded event.
This results in the trigger firing when the page loads. 
&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;EventTrigger RoutedEvent="Page.Loaded"&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
For the animation itself, we use the storyboard. In this storyboard, which is like
the name says, a series of steps that will be executed. You can compare it to a band
of drawings that form a comic.&lt;br&gt;
The storyboard thus consists of several animations. In this case, I use a DoubleAnimation,
because the property I'm going to change, is of value Double: I'm going to alter the
Height and Width property of the Ellipse. These are indeed Double values.&lt;br&gt;
&lt;br&gt;
In the first animation, I specify that I want to animate the ellipse I created earlier,
by setting the TargetName, and the property I want to change is the Height. In the
From and the To properties, I specify what the values for the Height should be. In
this case, I want the ellipse to pop up out of nothing, so I set the From to 0 and
the To to 200. 
&lt;br&gt;
&lt;br&gt;
The RepeatBehavior property specifies how long this animation should repeat, in this
case, I set it to 10 seconds. Note that several animations can have different RepeatBehaviors:
one can go one longer than the other. The BeginTime simply specifies when the animation
should start: you can build in a delay.&lt;br&gt;
Finally, the AutoReverse property indicates that WPF should reverse the animation
after completed.&lt;br&gt;
&lt;br&gt;
The second animation does essentially the same, but for the width.&lt;br&gt;
Both these animations can't be grouped into one, which is a pity.&lt;br&gt;
&lt;br&gt;
The result looks like this:&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img height=510 src="http://www.snowball.be/content/binary/WPFanimation.JPG" width=762 border=0&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/WPF+Examples+A+Small+Example+On+Animation+And+Gradients.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.snowball.be/WPF+Examples+A+Small+Example+On+Animation+And+Gradients.aspx" border=0&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bfa7e03e-1b64-4d68-8455-a402362e987b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,bfa7e03e-1b64-4d68-8455-a402362e987b.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Programming</category>
      <category>Visual Studio.net</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=c361c8ce-863a-4ee5-a76b-71d3082263a4</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,c361c8ce-863a-4ee5-a76b-71d3082263a4.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,c361c8ce-863a-4ee5-a76b-71d3082263a4.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=c361c8ce-863a-4ee5-a76b-71d3082263a4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last week, a collegue of mine told me about a video on the ADO.net entity framework
over at Channel9. I watched it, and was very impressed.<br /><br />
Today, MS released the first CTP for this framework that is to be included later on
in the .net framework.  
</p>
        <p>
From the release notes:<br /></p>
        <p>
          <em>This package is the first Community Technology Preview (CTP) of ADO.NET vNext
and includes the preview build of the ADO.NET Entity Framework along with samples
and whitepapers. The ADO.NET Entity Framework supports Object Relational Mapping scenarios
using ADO.NET Entities, in this build you can:<br />
- Query of persistent Entities using LINQ to Entities or Entity SQL<br />
- Save new and dirtied entity instances through the object abstractions which also
handle<br />
o State management<br />
o Identity resolution<br />
o Change tracking<br />
- Work with persistent object graphs and leverage a programming and query model where
relationships are a first class concept<br />
- Use optimistic concurrency and server generated values with persistent entities<br />
- Program against persistent entities as values using the new Map Provider<br />
- Get first hand experience with Entities and the Entity Data Model<br />
- Work with mappings based on view maintenance concepts to support<br />
o Entity Splitting (entities split across multiple tables)<br />
o Table Per Hierarchy, Table Per Class and Table Per Type mappings<br />
o Property renaming<br />
o Conditional mappings<br /><br /></em>It's a small download, if you want to give it a try, head over to <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b68f6f53-ec87-4122-b1c8-ee24a043bf72&amp;DisplayLang=en" target="_blank">Microsoft
downloads</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c361c8ce-863a-4ee5-a76b-71d3082263a4" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>ADO.net Entity Framework first CTP available now</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,c361c8ce-863a-4ee5-a76b-71d3082263a4.aspx</guid>
      <link>http://www.snowball.be/2006/08/17/ADOnet+Entity+Framework+First+CTP+Available+Now.aspx</link>
      <pubDate>Thu, 17 Aug 2006 13:31:15 GMT</pubDate>
      <description>&lt;p&gt;
Last week, a collegue of mine told me about a video on the ADO.net entity framework
over at Channel9. I watched it, and was very impressed.&lt;br&gt;
&lt;br&gt;
Today, MS released the first CTP for this framework that is to be included later on
in the .net framework.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
From the release notes:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;This package is the first Community Technology Preview (CTP) of ADO.NET vNext
and includes the preview build of the ADO.NET Entity Framework along with samples
and whitepapers. The ADO.NET Entity Framework supports Object Relational Mapping scenarios
using ADO.NET Entities, in this build you can:&lt;br&gt;
- Query of persistent Entities using LINQ to Entities or Entity SQL&lt;br&gt;
- Save new and dirtied entity instances through the object abstractions which also
handle&lt;br&gt;
o State management&lt;br&gt;
o Identity resolution&lt;br&gt;
o Change tracking&lt;br&gt;
- Work with persistent object graphs and leverage a programming and query model where
relationships are a first class concept&lt;br&gt;
- Use optimistic concurrency and server generated values with persistent entities&lt;br&gt;
- Program against persistent entities as values using the new Map Provider&lt;br&gt;
- Get first hand experience with Entities and the Entity Data Model&lt;br&gt;
- Work with mappings based on view maintenance concepts to support&lt;br&gt;
o Entity Splitting (entities split across multiple tables)&lt;br&gt;
o Table Per Hierarchy, Table Per Class and Table Per Type mappings&lt;br&gt;
o Property renaming&lt;br&gt;
o Conditional mappings&lt;br&gt;
&lt;br&gt;
&lt;/em&gt;It's a small download, if you want to give it a try, head over to &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b68f6f53-ec87-4122-b1c8-ee24a043bf72&amp;amp;DisplayLang=en" target=_blank&gt;Microsoft
downloads&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c361c8ce-863a-4ee5-a76b-71d3082263a4" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,c361c8ce-863a-4ee5-a76b-71d3082263a4.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>WinFX</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=634805bb-f504-4adf-a5da-0fa59554538b</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,634805bb-f504-4adf-a5da-0fa59554538b.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,634805bb-f504-4adf-a5da-0fa59554538b.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=634805bb-f504-4adf-a5da-0fa59554538b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just like me, my collegue Gabriel dislikes the renaming of WinFX to .net 3.0. On his <a href="http://pointerx.net/">blog</a>,
he points to an online petition to convince Microsoft to go back to WinFX, instead
of .net 3.0.<br /><br />
So, if you share the same opinion, don't hesitate to <a href="http://www.petitiononline.com/winfx/petition.html">sign</a> the
petition too!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=634805bb-f504-4adf-a5da-0fa59554538b" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Back to WinFX!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,634805bb-f504-4adf-a5da-0fa59554538b.aspx</guid>
      <link>http://www.snowball.be/2006/08/12/Back+To+WinFX.aspx</link>
      <pubDate>Sat, 12 Aug 2006 15:12:16 GMT</pubDate>
      <description>&lt;p&gt;
Just like me, my collegue Gabriel dislikes the renaming of WinFX to .net 3.0. On his &lt;a href="http://pointerx.net/"&gt;blog&lt;/a&gt;,
he points to an online petition to convince Microsoft to go back to WinFX, instead
of .net 3.0.&lt;br&gt;
&lt;br&gt;
So, if you share the same opinion, don't hesitate to &lt;a href="http://www.petitiononline.com/winfx/petition.html"&gt;sign&lt;/a&gt; the
petition too!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=634805bb-f504-4adf-a5da-0fa59554538b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,634805bb-f504-4adf-a5da-0fa59554538b.aspx</comments>
      <category>.net</category>
      <category>WinFX</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=b6cf6c10-9094-4bd2-815e-fdaed0fc3471</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,b6cf6c10-9094-4bd2-815e-fdaed0fc3471.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,b6cf6c10-9094-4bd2-815e-fdaed0fc3471.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=b6cf6c10-9094-4bd2-815e-fdaed0fc3471</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As previously announced here, on September 25th, Microsoft is organizing an event
on .net 3.0 in Kinepolis Brussels. David Boschmans announced the complete agenda on
his <a href="http://blogs.msdn.com/davbosch/archive/2006/08/10/694371.aspx">site</a> today.<br />
Today, the line-up and sessions are announced. A new item is that we, the visitors,
can now vote which sessions we want to see.<br /><br />
So, everybody, go vote AND PLEASE don't vote for the introductions!!<br /><br />
Vote <a href="http://www.microsoft.com/belux/msdn/nl/events/2006/net30_vote.mspx">here</a>.<br />
General information on the event can be found <a href="http://www.microsoft.com/belux/msdn/nl/events/2006/net30.mspx">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b6cf6c10-9094-4bd2-815e-fdaed0fc3471" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Ladies and gentlemen, your votes please</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,b6cf6c10-9094-4bd2-815e-fdaed0fc3471.aspx</guid>
      <link>http://www.snowball.be/2006/08/10/Ladies+And+Gentlemen+Your+Votes+Please.aspx</link>
      <pubDate>Thu, 10 Aug 2006 19:38:54 GMT</pubDate>
      <description>&lt;p&gt;
As previously announced here, on September 25th, Microsoft is organizing an event
on .net 3.0 in Kinepolis Brussels. David Boschmans announced the complete agenda on
his &lt;a href="http://blogs.msdn.com/davbosch/archive/2006/08/10/694371.aspx"&gt;site&lt;/a&gt; today.&lt;br&gt;
Today, the line-up and sessions are announced. A new item is that we, the visitors,
can now vote which sessions we want to see.&lt;br&gt;
&lt;br&gt;
So, everybody, go vote AND PLEASE don't vote for the introductions!!&lt;br&gt;
&lt;br&gt;
Vote &lt;a href="http://www.microsoft.com/belux/msdn/nl/events/2006/net30_vote.mspx"&gt;here&lt;/a&gt;.&lt;br&gt;
General information on the event can be found &lt;a href="http://www.microsoft.com/belux/msdn/nl/events/2006/net30.mspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b6cf6c10-9094-4bd2-815e-fdaed0fc3471" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,b6cf6c10-9094-4bd2-815e-fdaed0fc3471.aspx</comments>
      <category>.net</category>
      <category>Microsoft</category>
      <category>Programming</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=5d438bc6-8d35-42ea-ad64-34f60daf0d30</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,5d438bc6-8d35-42ea-ad64-34f60daf0d30.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,5d438bc6-8d35-42ea-ad64-34f60daf0d30.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=5d438bc6-8d35-42ea-ad64-34f60daf0d30</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
People have been asking me questions about WPF, mostly how to get started.<br />
Since WPF is still somewhat obscure, in this article I’m going to try to make things
a little more clear to get you on your way using WPF.
</p>
        <p>
As you might or might not know, WPF is part of .net 3.0, formerly known as WinFX.
Other components included in .net 3.0 are WCF (Windows Communication Foundation),
WF (Windows Workflow Foundation) and CardSpace (formerly InfoCard). 
</p>
        <p>
For starters, you need an operating system supporting WPF. This can be:<br />
-Windows XP SP2<br />
-Windows 2003<br />
-Windows Vista
</p>
        <p>
I do recommend running .net 3.0 in a virtual pc environment! Since a lot of CTP’s,
beta’s and RC’s are coming our way, it’s easier to just create a VPC with Windows
XP or 2003 , and install .net 3.0! Since Virtual PC is free anyhow, I don’t see a
reason why not doing it this way! 
<br />
Uninstalling beta software can be a real pain, so why compromise your precious production
environment!?<br />
(For Virtual PC go <a href="http://www.microsoft.com/downloads/details.aspx?familyid=6d58729d-dfa8-40bf-afaf-20bcb7f01cd1&amp;displaylang=en">here</a>)
</p>
        <p>
On both XP and 2003, you need to install the runtime, to be able to run WPF applications.
This can be a web-install (of around 2.5 MB, and then the rest is downloaded) or you
might as well download the whole package. 
</p>
        <p>
Now, there are some issues with the latest CTP of July… This latest release does not
come with the Visual Studio 2005 extensions, required to build your WPF applications
in VS.<br />
Therefore, if you want to start developing (or better, start playing around…), I suggest
you stick to the June CTP, which has full support for all the tools. 
</p>
        <p>
So, if you want to develop within Visual Studio, follow the next steps. If not, skip
this section.<br />
The June CTP runtime can be downloaded <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;DisplayLang=en">here</a>.<br /><br />
To start developing, you might want to install the SDK. It’s a big download of around
1.1GB. It comes with lots of samples and tools, like XAMLPad. The SDK can be downloaded <a href="http://download.microsoft.com/download/2/a/f/2afd6871-3b3a-4646-b98b-f11cd21b311f/6.0.5472.2.1.WindowsSDK_Vista_idw.DVD.Rel.img">here</a>.
</p>
        <p>
The SDK is however not required when you intend to develop in Visual Studio! For VS,
Microsoft has released some extensions and templates, which will make your WPF-life
a lot easier! If you don’t have Visual Studio, you can use one of the free Express
editions. 
<br />
For the download, go <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1A994549-94CB-4F61-903D-A8C8E453EEF4&amp;displaylang=en">here</a>.
</p>
        <p>
We’re almost done!<br />
Microsoft is also preparing a set of designer tools for WPF, the Expression suite. 
<br />
The Interactive Designer outputs XAML code, which can be used to enhance the layout
of your applications, without even knowing XAML!<br />
For the Interactive Designer, go <a href="http://www.microsoft.com/products/expression/en/interactive_designer/id_free_trial.aspx">here</a>.<br />
The Graphic Designer allows you to create images and export these as XAML code to
be included in your WPF projects.<br />
This can be downloaded <a href="http://www.microsoft.com/products/expression/en/graphic_designer/gd_free_trial.aspx">here</a>. 
<br /><br />
That’s it! Now, you are ready to start! 
</p>
        <p>
If you want the latest release, and don’t care for the Visual Studio Extensions, go
for the July CTP, which was released July 18th. 
</p>
        <p>
The runtime can be downloaded <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=62057A6F-185F-41DB-ABE5-678F6FC388F0&amp;displaylang=en">here</a>.<br />
And the SDK is found right <a href="http://download.microsoft.com/download/2/a/f/2afd6871-3b3a-4646-b98b-f11cd21b311f/6.0.5472.2.1.WindowsSDK_Vista_idw.DVD.Rel.img">here</a>.
</p>
        <p>
I did find some work around to get this latest CTP working with Orcas, but since I
didn’t try it myself, I cannot guarantee that it will work.<br />
The “fix” goes as follows:<br /><br /><em>Instal Orcas in VS using the misexec override: msiexec /i vsextwfx.msi WRC_INSTALLED_OVERRIDE=1 </em></p>
        <p>
          <em>The override bypasses the installation version checking so you can install the
extensions. </em>
        </p>
        <p>
          <em>After this you have July CTP installed and Orcas from the previous version. This
works just fine. </em>
        </p>
        <p>
          <em>To solve your problem with the Orcas designer trying to open: </em>
        </p>
        <p>
          <em>Right click on a .xaml file in your solution and choose "open with...". Choose
"xml Editor" and click on "Set as default". Now all .xaml files will open with the
xml editor instead of trying to open the unfinished Orcas designer.</em>
        </p>
        <p>
In a next article, I’ll post some interesting resources to get you building WPF applications
in no time!<br /><br /></p>
        <a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/How+To+WPF+Getting+Started.aspx">
          <img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.snowball.be/How+To+WPF+Getting+Started.aspx" border="0" alt="kick it on DotNetKicks.com" />
        </a>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5d438bc6-8d35-42ea-ad64-34f60daf0d30" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>How to WPF: getting started</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,5d438bc6-8d35-42ea-ad64-34f60daf0d30.aspx</guid>
      <link>http://www.snowball.be/2006/08/02/How+To+WPF+Getting+Started.aspx</link>
      <pubDate>Wed, 02 Aug 2006 10:06:10 GMT</pubDate>
      <description>&lt;p&gt;
People have been asking me questions about WPF, mostly how to get started.&lt;br&gt;
Since WPF is still somewhat obscure, in this article I’m going to try to make things
a little more clear to get you on your way using WPF.
&lt;/p&gt;
&lt;p&gt;
As you might or might not know, WPF is part of .net 3.0, formerly known as WinFX.
Other components included in .net 3.0 are WCF (Windows Communication Foundation),
WF (Windows Workflow Foundation) and CardSpace (formerly InfoCard). 
&lt;/p&gt;
&lt;p&gt;
For starters, you need an operating system supporting WPF. This can be:&lt;br&gt;
-Windows XP SP2&lt;br&gt;
-Windows 2003&lt;br&gt;
-Windows Vista
&lt;/p&gt;
&lt;p&gt;
I do recommend running .net 3.0 in a virtual pc environment! Since a lot of CTP’s,
beta’s and RC’s are coming our way, it’s easier to just create a VPC with Windows
XP or 2003 , and install .net 3.0! Since Virtual PC is free anyhow, I don’t see a
reason why not doing it this way! 
&lt;br&gt;
Uninstalling beta software can be a real pain, so why compromise your precious production
environment!?&lt;br&gt;
(For Virtual PC go &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=6d58729d-dfa8-40bf-afaf-20bcb7f01cd1&amp;amp;displaylang=en"&gt;here&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
On both XP and 2003, you need to install the runtime, to be able to run WPF applications.
This can be a web-install (of around 2.5 MB, and then the rest is downloaded) or you
might as well download the whole package. 
&lt;/p&gt;
&lt;p&gt;
Now, there are some issues with the latest CTP of July… This latest release does not
come with the Visual Studio 2005 extensions, required to build your WPF applications
in VS.&lt;br&gt;
Therefore, if you want to start developing (or better, start playing around…), I suggest
you stick to the June CTP, which has full support for all the tools. 
&lt;/p&gt;
&lt;p&gt;
So, if you want to develop within Visual Studio, follow the next steps. If not, skip
this section.&lt;br&gt;
The June CTP runtime can be downloaded &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
To start developing, you might want to install the SDK. It’s a big download of around
1.1GB. It comes with lots of samples and tools, like XAMLPad. The SDK can be downloaded &lt;a href="http://download.microsoft.com/download/2/a/f/2afd6871-3b3a-4646-b98b-f11cd21b311f/6.0.5472.2.1.WindowsSDK_Vista_idw.DVD.Rel.img"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The SDK is however not required when you intend to develop in Visual Studio! For VS,
Microsoft has released some extensions and templates, which will make your WPF-life
a lot easier! If you don’t have Visual Studio, you can use one of the free Express
editions. 
&lt;br&gt;
For the download, go &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1A994549-94CB-4F61-903D-A8C8E453EEF4&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
We’re almost done!&lt;br&gt;
Microsoft is also preparing a set of designer tools for WPF, the Expression suite. 
&lt;br&gt;
The Interactive Designer outputs XAML code, which can be used to enhance the layout
of your applications, without even knowing XAML!&lt;br&gt;
For the Interactive Designer, go &lt;a href="http://www.microsoft.com/products/expression/en/interactive_designer/id_free_trial.aspx"&gt;here&lt;/a&gt;.&lt;br&gt;
The Graphic Designer allows you to create images and export these as XAML code to
be included in your WPF projects.&lt;br&gt;
This can be downloaded &lt;a href="http://www.microsoft.com/products/expression/en/graphic_designer/gd_free_trial.aspx"&gt;here&lt;/a&gt;. 
&lt;br&gt;
&lt;br&gt;
That’s it! Now, you are ready to start! 
&lt;/p&gt;
&lt;p&gt;
If you want the latest release, and don’t care for the Visual Studio Extensions, go
for the July CTP, which was released July 18th. 
&lt;/p&gt;
&lt;p&gt;
The runtime can be downloaded &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=62057A6F-185F-41DB-ABE5-678F6FC388F0&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;br&gt;
And the SDK is found right &lt;a href="http://download.microsoft.com/download/2/a/f/2afd6871-3b3a-4646-b98b-f11cd21b311f/6.0.5472.2.1.WindowsSDK_Vista_idw.DVD.Rel.img"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I did find some work around to get this latest CTP working with Orcas, but since I
didn’t try it myself, I cannot guarantee that it will work.&lt;br&gt;
The “fix” goes as follows:&lt;br&gt;
&lt;br&gt;
&lt;em&gt;Instal Orcas in VS using the misexec override: msiexec /i vsextwfx.msi WRC_INSTALLED_OVERRIDE=1 &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The override bypasses the installation version checking so you can install the
extensions. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;After this you have July CTP installed and Orcas from the previous version. This
works just fine. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;To solve your problem with the Orcas designer trying to open: &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Right click on a .xaml file in your solution and choose "open with...". Choose
"xml Editor" and click on "Set as default". Now all .xaml files will open with the
xml editor instead of trying to open the unfinished Orcas designer.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
In a next article, I’ll post some interesting resources to get you building WPF applications
in no time!&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/How+To+WPF+Getting+Started.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.snowball.be/How+To+WPF+Getting+Started.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt; &lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5d438bc6-8d35-42ea-ad64-34f60daf0d30" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,5d438bc6-8d35-42ea-ad64-34f60daf0d30.aspx</comments>
      <category>.net</category>
      <category>Programming</category>
      <category>Vista</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=6786fc11-d5d3-41e2-982f-cb8b51fe11c1</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=6786fc11-d5d3-41e2-982f-cb8b51fe11c1</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
WPF not only stands for new fantastic tools for layout. There are also some very interesting
new ways to implement databinding in your applications. 
<br />
In this article, I’m going to show how you can easily build an RSS reader using the
new databinding features in WPF.
</p>
        <p>
          <strong>How databinding works in WPF</strong>
          <br />
In order not to go too fast, first, let me explain some basic concepts of databinding
in WPF. 
</p>
        <p>
To keep data used in UI in sync with data in the datasource (for example a database),
we can of course use properties. There is nothing wrong if you keep doing this under
WPF. 
<br />
However, WPF provides very handy binding features, that will make your life a lot
easier! 
</p>
        <p>
We could bind the value of a textbox with the following code:<br /><font face="Courier New">&lt;TextBox Text="{Binding Path=Age}"&gt;<br />
&lt;/TextBox&gt;</font><br />
Databinding under WPF uses a <font face="Courier New">Binding</font> object. The above
code declares a textbox in XAML, and assigns the text-property the value of a property
named Age of an object that it is bound to. This is done using the <font face="Courier New">Path</font> property.
The <font face="Courier New">Path</font> property refers to the property of the object
we are binding too.
</p>
        <p>
To know to which object we are binding, we have the <font face="Courier New">DataContext</font> property.
In WPF, every <font face="Courier New">FrameworkElement</font> and also every <font face="Courier New">FrameworkContentElement</font> has
a <font face="Courier New">DataContext</font> property. It is of type object, so we
can bind to whatever we like. 
<br />
The binding does however have some interesting behaviour: if no <font face="Courier New">DataContext</font> is
specified on the object itself (like with our textbox), it goes up the tree in which
the controls are nested. So if we add our textbox in a Grid, it will look if this
Grid has a DataContext. If not, it goes up higher…<br />
This is of course very useful if we have more than one object (say 5 textboxes) binding
to the same object.
</p>
        <p>
Let me show you how to declare an object to which we’ll bind in XAML code (this uses
the new syntax, so to run this, you have to upgrade to beta 2 or higher!)
</p>
        <p>
          <font face="Courier New">&lt;Window x:Class="Snowball.Window2"<br />
    xmlns="</font>
          <a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
            <font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml/presentation</font>
          </a>
          <font face="Courier New">"<br />
    xmlns:x="</font>
          <a href="http://schemas.microsoft.com/winfx/2006/xaml">
            <font face="Courier New">http://schemas.microsoft.com/winfx/2006/xaml</font>
          </a>
          <font face="Courier New">"<br />
    xmlns:local="clr-namespace:Snowball"<br />
    Title="Snowball" Height="300" Width="300"<br />
    &gt;<br />
  &lt;Window.Resources&gt;<br />
    &lt;local:Person x:Key="Gill" Name="Gill Cleeren" Age="27"/&gt;<br />
  &lt;/Window.Resources&gt;<br />
    &lt;Grid DataContext="{StaticResource Gill}"&gt;<br />
       
<br />
      &lt;TextBox Text="{Binding Path=Name}"&gt;<br />
      &lt;/TextBox&gt;<br />
    &lt;/Grid&gt;<br />
&lt;/Window&gt;</font>
        </p>
        <p>
And in the code-behind:<br /><font face="Courier New">namespace Snowball<br />
{<br />
    public class Person<br />
    {<br />
        private string name;</font></p>
        <p>
          <font face="Courier New">        public string
Name<br />
        {<br />
            get { return name;
}<br />
            set { name = value;
}<br />
        }<br />
        private string age;</font>
        </p>
        <p>
          <font face="Courier New">        public string
Age<br />
        {<br />
            get { return age;
}<br />
            set { age = value;
}<br />
        }</font>
        </p>
        <p>
          <font face="Courier New">        public Person()<br />
        { }<br />
    }<br />
}</font>
        </p>
        <p>
What I have done here, is creating a Person object in XAML. For this to work, you
have to provide a default constructor. 
<br />
First, we have to wire the CLR namespace to be known in XAML: <font face="Courier New">xmlns:local="clr-namespace:Snowball"</font>. 
<br />
Now, we can use the tag “<font face="Courier New">local</font>” to refer to the namespace
in which the Person class resides. 
<br />
Using the following line, we instantiate a Person using XAML:<br /><font face="Courier New">&lt;local:Person x:Key="Gill" Name="Gill Cleeren" Age="27"/&gt;</font></p>
        <p>
The result is a textbox showing my name:
</p>
        <p>
          <img src="http://www.snowball.be/content/binary/WPFDatabinding1.jpg" border="0" />
        </p>
        <p>
Note that if you try this in Visual Studio at the time of writing, you get an error
viewing the design view. Don’t worry, when running, it all works fine.
</p>
        <p>
          <strong>Binding XML data to a list</strong>
          <br />
Most of the time, we bind data to a list: a dropdown, a grid… In this part, I’m going
to bind an RSS feed from my website <a href="http://www.snowball.be">www.snowball.be</a> to
a list. 
<br />
To do this, we’ll need an <font face="Courier New">XmlDataProvider</font>. 
</p>
        <p>
Data can be accessed by using a Provider. Currently, 2 providers exist: the <font face="Courier New">XmlDataProvider</font> and
the <font face="Courier New">ObjectDataProvider</font>. 
<br />
An XmlDataProvider object must be declared within the resources, for example the resources
of the grid:
</p>
        <p>
          <font face="Courier New">&lt;Grid.Resources&gt;<br />
        &lt;XmlDataProvider x:Key="SnowballRSS"
Source="</font>
          <a href="http://www.snowball.be/SyndicationService.asmx/GetRss">
            <font face="Courier New">http://www.snowball.be/SyndicationService.asmx/GetRss</font>
          </a>
          <font face="Courier New">"
/&gt;<br />
&lt;/Grid.Resources&gt;</font>
          <br />
          <br />
The <font face="Courier New">x:Key </font>assigns a name, which we can use in our
code-behind. 
</p>
        <p>
We can now use this object as a datasource for a listbox, like this:<br /><br /><font face="Courier New">&lt;ListBox ItemsSource="{Binding Source={StaticResource
SnowballRSS}, XPath=//rss//channel//item }"&gt;<br />
&lt;/ListBox.ItemTemplate&gt;</font></p>
        <p>
We provide a value for the <font face="Courier New">ItemSource</font>, being an instance
of Binding. For this <font face="Courier New">Binding</font> instance, we provide
the <font face="Courier New">Source</font> property. Since we’re dealing with a resource
that is defined in the XAML itself, we again use <font face="Courier New">StaticResource</font> and
as value, the name of the dataprovider. A second attribute is the <font face="Courier New">XPath</font> expression,
to locate the value we want to show in the listbox. 
</p>
        <p>
This is the result:<br /></p>
        <p>
          <img src="http://www.snowball.be/content/binary/WPFDatabinding2.jpg" border="0" />
          <br />
          <br />
What happens, is that the entire XML tag is being read into a listitem. This is not
desired, so we have to provide some kind of formatting, to tell WPF exactly what we
want to show in the items. 
<br />
This can be accomplished using a datatemplate.
</p>
        <p>
We provide an instance of <font face="Courier New">DataTemplate</font> to be used
as value for the <font face="Courier New">ItemTemplate</font> property of the listbox.
In this datatemplate, we can specify what to show as listitem. 
<br />
In the following code, I’m telling to make each listitem consist of a <font face="Courier New">TextBlock</font>.
The text to be shown is taken from the surrounding Listbox (remember searching for
the data up in the controltree?). In the data it finds, which is an XML tag with subnodes,
we can to take the title as the value for the item. 
<br /><br /><font face="Courier New">&lt;ListBox.ItemTemplate&gt;<br />
   &lt;DataTemplate&gt;<br />
      &lt;TextBlock Text="{Binding XPath=title}"&gt;&lt;/TextBlock&gt;<br />
   &lt;/DataTemplate&gt;<br />
&lt;/ListBox.ItemTemplate&gt;</font></p>
        <p>
When we now run this, we get the following:<br /><br /></p>
        <p>
          <img src="http://www.snowball.be/content/binary/WPFDatabinding3.jpg" border="0" />
          <br />
          <br />
Much better, isn’t it?!
</p>
        <p>
In the next part, we’re going to make the application a little bit more complete,
providing a click event for the listbox, and making sure that some fields are filled
in, again using databinding.
</p>
        <p>
          <strong>Adding the detailsform</strong>
          <br />
We’ll now change the program somewhat to make it display the details of the item selected
in the listbox.
</p>
        <p>
We’ll add a Grid to make it easy to display 3 rows and 2 columns with textblocks,
labels and textboxes. 
<br />
This can be done with the following code:<br /><br /><font face="Courier New">&lt;Grid&gt;<br />
   &lt;Grid.RowDefinitions&gt;<br />
      &lt;RowDefinition Height="30"&gt;&lt;/RowDefinition&gt;<br />
      &lt;RowDefinition Height="30"&gt;&lt;/RowDefinition&gt;<br />
      &lt;RowDefinition Height="*"&gt;&lt;/RowDefinition&gt;<br />
   &lt;/Grid.RowDefinitions&gt;<br />
   &lt;Grid.ColumnDefinitions&gt;<br />
      &lt;ColumnDefinition Width="0.2*"&gt;&lt;/ColumnDefinition&gt;<br />
      &lt;ColumnDefinition Width="0.8*"&gt;&lt;/ColumnDefinition&gt;<br />
   &lt;/Grid.ColumnDefinitions&gt;<br />
   &lt;TextBlock Grid.Row="0" Grid.Column="0"&gt;Title&lt;/TextBlock&gt;<br />
   &lt;Label Grid.Row="0" Grid.Column="1"&gt;&lt;/Label&gt;<br />
   &lt;TextBlock Grid.Row="1" Grid.Column="0"&gt;Link:&lt;/TextBlock&gt;<br />
   &lt;Label Grid.Row="1" Grid.Column="1" &gt;&lt;/Label&gt;<br />
   &lt;TextBlock Grid.Row="2" Grid.Column="0"&gt;Article&lt;/TextBlock&gt;<br />
   &lt;TextBox Grid.Row="2" Grid.Column="1"&gt;&lt;/TextBox&gt;<br />
&lt;/Grid&gt;</font></p>
        <p>
After adding the <font face="Courier New">Grid</font>, we’ll also have to change the
rest of the markup a little. Take a look at the sample code provided with this article
to see the rest of the layout. 
</p>
        <p>
We now want the detail-fields display more info on the selected item in the <font face="Courier New">Listbox</font>. 
Therefore, the <font face="Courier New">Grid</font> containing these fields should
have its <font face="Courier New">DataContext</font> set to the item selected in the
list. We do this with the following code:
</p>
        <p>
          <font face="Courier New">&lt;Grid DataContext="{Binding ElementName=RSSList, Path=SelectedItem}"
&gt;</font>
          <br />
          <br />
The element is the name of the listbox, the path is once again the property within
the source to which we’ll be binding the grid (and thus the detail fields).
</p>
        <p>
Now, every time we select an item in the listbox, the grid has its datacontext set
to this selected item. The fields can now get details as follows:<br /><br /><font face="Courier New">…<br />
&lt;Label Grid.Row="0" Grid.Column="1" Content="{Binding XPath=title}"&gt;&lt;/Label&gt;<br />
…<br />
&lt;Label Grid.Row="1" Grid.Column="1" Content="{Binding XPath=link}"&gt;<br />
            &lt;/Label&gt;<br />
…<br />
&lt;TextBox Grid.Row="2" Grid.Column="1" Text="{Binding XPath=description}"&gt;&lt;/TextBox&gt;</font></p>
        <p>
The result should resemble the following:<br /></p>
        <p>
          <img src="http://www.snowball.be/content/binary/WPFDatabinding4.jpg" border="0" />
          <br />
          <br />
Congratulations, you built your first databound application, using WPF databinding
and a simple datatemplate!<br /><br />
In my next (large) article, we’ll be looking at the styling tools provided by WPF
to make this application look TONS better!
</p>
        <a href="http://www.snowball.be/content/binary/RSSReader.zip">RSS Reader.zip (45.32
KB)</a>
        <br />
        <br />
        <br />
        <a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/PermaLink,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx">
          <img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.snowball.be/PermaLink,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx" border="0" />
        </a>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=6786fc11-d5d3-41e2-982f-cb8b51fe11c1" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF examples: Databinding in WPF: a simple RSS reader with XAML/WPF</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx</guid>
      <link>http://www.snowball.be/2006/07/11/WPF+Examples+Databinding+In+WPF+A+Simple+RSS+Reader+With+XAMLWPF.aspx</link>
      <pubDate>Tue, 11 Jul 2006 13:56:47 GMT</pubDate>
      <description>&lt;p&gt;
WPF not only stands for new fantastic tools for layout. There are also some very interesting
new ways to implement databinding in your applications. 
&lt;br&gt;
In this article, I’m going to show how you can easily build an RSS reader using the
new databinding features in WPF.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How databinding works in WPF&lt;/strong&gt;
&lt;br&gt;
In order not to go too fast, first, let me explain some basic concepts of databinding
in WPF. 
&lt;/p&gt;
&lt;p&gt;
To keep data used in UI in sync with data in the datasource (for example a database),
we can of course use properties. There is nothing wrong if you keep doing this under
WPF. 
&lt;br&gt;
However, WPF provides very handy binding features, that will make your life a lot
easier! 
&lt;/p&gt;
&lt;p&gt;
We could bind the value of a textbox with the following code:&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;TextBox Text="{Binding Path=Age}"&amp;gt;&lt;br&gt;
&amp;lt;/TextBox&amp;gt;&lt;/font&gt;
&lt;br&gt;
Databinding under WPF uses a &lt;font face="Courier New"&gt;Binding&lt;/font&gt; object. The above
code declares a textbox in XAML, and assigns the text-property the value of a property
named Age of an object that it is bound to. This is done using the &lt;font face="Courier New"&gt;Path&lt;/font&gt; property.
The &lt;font face="Courier New"&gt;Path&lt;/font&gt; property refers to the property of the object
we are binding too.
&lt;/p&gt;
&lt;p&gt;
To know to which object we are binding, we have the &lt;font face="Courier New"&gt;DataContext&lt;/font&gt; property.
In WPF, every &lt;font face="Courier New"&gt;FrameworkElement&lt;/font&gt; and also every &lt;font face="Courier New"&gt;FrameworkContentElement&lt;/font&gt; has
a &lt;font face="Courier New"&gt;DataContext&lt;/font&gt; property. It is of type object, so we
can bind to whatever we like. 
&lt;br&gt;
The binding does however have some interesting behaviour: if no &lt;font face="Courier New"&gt;DataContext&lt;/font&gt; is
specified on the object itself (like with our textbox), it goes up the tree in which
the controls are nested. So if we add our textbox in a Grid, it will look if this
Grid has a DataContext. If not, it goes up higher…&lt;br&gt;
This is of course very useful if we have more than one object (say 5 textboxes) binding
to the same object.
&lt;/p&gt;
&lt;p&gt;
Let me show you how to declare an object to which we’ll bind in XAML code (this uses
the new syntax, so to run this, you have to upgrade to beta 2 or higher!)
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;Window x:Class="Snowball.Window2"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;/font&gt;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x="&lt;/font&gt;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:local="clr-namespace:Snowball"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Title="Snowball" Height="300" Width="300"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;Window.Resources&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person x:Key="Gill" Name="Gill Cleeren" Age="27"/&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/Window.Resources&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid DataContext="{StaticResource Gill}"&amp;gt;&lt;br&gt;
&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;lt;TextBox Text="{Binding Path=Name}"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/TextBox&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;br&gt;
&amp;lt;/Window&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
And in the code-behind:&lt;br&gt;
&lt;font face="Courier New"&gt;namespace Snowball&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Person&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string name;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string
Name&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; get { return name;
}&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; set { name = value;
}&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; private string age;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string
Age&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; get { return age;
}&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; set { age = value;
}&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;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Person()&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; }&lt;br&gt;
}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
What I have done here, is creating a Person object in XAML. For this to work, you
have to provide a default constructor. 
&lt;br&gt;
First, we have to wire the CLR namespace to be known in XAML: &lt;font face="Courier New"&gt;xmlns:local="clr-namespace:Snowball"&lt;/font&gt;. 
&lt;br&gt;
Now, we can use the tag “&lt;font face="Courier New"&gt;local&lt;/font&gt;” to refer to the namespace
in which the Person class resides. 
&lt;br&gt;
Using the following line, we instantiate a Person using XAML:&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;local:Person x:Key="Gill" Name="Gill Cleeren" Age="27"/&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
The result is a textbox showing my name:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.snowball.be/content/binary/WPFDatabinding1.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Note that if you try this in Visual Studio at the time of writing, you get an error
viewing the design view. Don’t worry, when running, it all works fine.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Binding XML data to a list&lt;/strong&gt;
&lt;br&gt;
Most of the time, we bind data to a list: a dropdown, a grid… In this part, I’m going
to bind an RSS feed from my website &lt;a href="http://www.snowball.be"&gt;www.snowball.be&lt;/a&gt; to
a list. 
&lt;br&gt;
To do this, we’ll need an &lt;font face="Courier New"&gt;XmlDataProvider&lt;/font&gt;. 
&lt;/p&gt;
&lt;p&gt;
Data can be accessed by using a Provider. Currently, 2 providers exist: the &lt;font face="Courier New"&gt;XmlDataProvider&lt;/font&gt; and
the &lt;font face="Courier New"&gt;ObjectDataProvider&lt;/font&gt;. 
&lt;br&gt;
An XmlDataProvider object must be declared within the resources, for example the resources
of the grid:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;Grid.Resources&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;XmlDataProvider x:Key="SnowballRSS"
Source="&lt;/font&gt;&lt;a href="http://www.snowball.be/SyndicationService.asmx/GetRss"&gt;&lt;font face="Courier New"&gt;http://www.snowball.be/SyndicationService.asmx/GetRss&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;"
/&amp;gt;&lt;br&gt;
&amp;lt;/Grid.Resources&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
The &lt;font face="Courier New"&gt;x:Key &lt;/font&gt;assigns a name, which we can use in our
code-behind. 
&lt;/p&gt;
&lt;p&gt;
We can now use this object as a datasource for a listbox, like this:&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;ListBox ItemsSource="{Binding Source={StaticResource
SnowballRSS}, XPath=//rss//channel//item }"&amp;gt;&lt;br&gt;
&amp;lt;/ListBox.ItemTemplate&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
We provide a value for the &lt;font face="Courier New"&gt;ItemSource&lt;/font&gt;, being an instance
of Binding. For this &lt;font face="Courier New"&gt;Binding&lt;/font&gt; instance, we provide
the &lt;font face="Courier New"&gt;Source&lt;/font&gt; property. Since we’re dealing with a resource
that is defined in the XAML itself, we again use &lt;font face="Courier New"&gt;StaticResource&lt;/font&gt; and
as value, the name of the dataprovider. A second attribute is the &lt;font face="Courier New"&gt;XPath&lt;/font&gt; expression,
to locate the value we want to show in the listbox. 
&lt;/p&gt;
&lt;p&gt;
This is the result:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.snowball.be/content/binary/WPFDatabinding2.jpg" border=0&gt;
&lt;br&gt;
&lt;br&gt;
What happens, is that the entire XML tag is being read into a listitem. This is not
desired, so we have to provide some kind of formatting, to tell WPF exactly what we
want to show in the items. 
&lt;br&gt;
This can be accomplished using a datatemplate.
&lt;/p&gt;
&lt;p&gt;
We provide an instance of &lt;font face="Courier New"&gt;DataTemplate&lt;/font&gt; to be used
as value for the &lt;font face="Courier New"&gt;ItemTemplate&lt;/font&gt; property of the listbox.
In this datatemplate, we can specify what to show as listitem. 
&lt;br&gt;
In the following code, I’m telling to make each listitem consist of a &lt;font face="Courier New"&gt;TextBlock&lt;/font&gt;.
The text to be shown is taken from the surrounding Listbox (remember searching for
the data up in the controltree?). In the data it finds, which is an XML tag with subnodes,
we can to take the title as the value for the item. 
&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;ListBox.ItemTemplate&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;DataTemplate&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;TextBlock Text="{Binding XPath=title}"&amp;gt;&amp;lt;/TextBlock&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/DataTemplate&amp;gt;&lt;br&gt;
&amp;lt;/ListBox.ItemTemplate&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
When we now run this, we get the following:&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.snowball.be/content/binary/WPFDatabinding3.jpg" border=0&gt;
&lt;br&gt;
&lt;br&gt;
Much better, isn’t it?!
&lt;/p&gt;
&lt;p&gt;
In the next part, we’re going to make the application a little bit more complete,
providing a click event for the listbox, and making sure that some fields are filled
in, again using databinding.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Adding the detailsform&lt;/strong&gt;
&lt;br&gt;
We’ll now change the program somewhat to make it display the details of the item selected
in the listbox.
&lt;/p&gt;
&lt;p&gt;
We’ll add a Grid to make it easy to display 3 rows and 2 columns with textblocks,
labels and textboxes. 
&lt;br&gt;
This can be done with the following code:&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Grid&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Grid.RowDefinitions&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;RowDefinition Height="30"&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;RowDefinition Height="30"&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;RowDefinition Height="*"&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Grid.RowDefinitions&amp;gt;&lt;br&gt;
&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;lt;ColumnDefinition Width="0.2*"&amp;gt;&amp;lt;/ColumnDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ColumnDefinition Width="0.8*"&amp;gt;&amp;lt;/ColumnDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;TextBlock Grid.Row="0" Grid.Column="0"&amp;gt;Title&amp;lt;/TextBlock&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Label Grid.Row="0" Grid.Column="1"&amp;gt;&amp;lt;/Label&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;TextBlock Grid.Row="1" Grid.Column="0"&amp;gt;Link:&amp;lt;/TextBlock&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Label Grid.Row="1" Grid.Column="1" &amp;gt;&amp;lt;/Label&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;TextBlock Grid.Row="2" Grid.Column="0"&amp;gt;Article&amp;lt;/TextBlock&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;TextBox Grid.Row="2" Grid.Column="1"&amp;gt;&amp;lt;/TextBox&amp;gt;&lt;br&gt;
&amp;lt;/Grid&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
After adding the &lt;font face="Courier New"&gt;Grid&lt;/font&gt;, we’ll also have to change the
rest of the markup a little. Take a look at the sample code provided with this article
to see the rest of the layout. 
&lt;/p&gt;
&lt;p&gt;
We now want the detail-fields display more info on the selected item in the &lt;font face="Courier New"&gt;Listbox&lt;/font&gt;.&amp;nbsp;
Therefore, the &lt;font face="Courier New"&gt;Grid&lt;/font&gt; containing these fields should
have its &lt;font face="Courier New"&gt;DataContext&lt;/font&gt; set to the item selected in the
list. We do this with the following code:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;Grid DataContext="{Binding ElementName=RSSList, Path=SelectedItem}"
&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
The element is the name of the listbox, the path is once again the property within
the source to which we’ll be binding the grid (and thus the detail fields).
&lt;/p&gt;
&lt;p&gt;
Now, every time we select an item in the listbox, the grid has its datacontext set
to this selected item. The fields can now get details as follows:&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;…&lt;br&gt;
&amp;lt;Label Grid.Row="0" Grid.Column="1" Content="{Binding XPath=title}"&amp;gt;&amp;lt;/Label&amp;gt;&lt;br&gt;
…&lt;br&gt;
&amp;lt;Label Grid.Row="1" Grid.Column="1" Content="{Binding XPath=link}"&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;/Label&amp;gt;&lt;br&gt;
…&lt;br&gt;
&amp;lt;TextBox Grid.Row="2" Grid.Column="1" Text="{Binding XPath=description}"&amp;gt;&amp;lt;/TextBox&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
The result should resemble the following:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.snowball.be/content/binary/WPFDatabinding4.jpg" border=0&gt;
&lt;br&gt;
&lt;br&gt;
Congratulations, you built your first databound application, using WPF databinding
and a simple datatemplate!&lt;br&gt;
&lt;br&gt;
In my next (large) article, we’ll be looking at the styling tools provided by WPF
to make this application look TONS better!
&lt;/p&gt;
&lt;a href="http://www.snowball.be/content/binary/RSSReader.zip"&gt;RSS Reader.zip (45.32
KB)&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/PermaLink,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.snowball.be/PermaLink,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx" border=0&gt;&lt;/a&gt; &lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=6786fc11-d5d3-41e2-982f-cb8b51fe11c1" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,6786fc11-d5d3-41e2-982f-cb8b51fe11c1.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Microsoft</category>
      <category>Programming</category>
      <category>Vista</category>
      <category>WinFX</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=cd397b68-0db7-4a08-ab68-9c785b336391</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,cd397b68-0db7-4a08-ab68-9c785b336391.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,cd397b68-0db7-4a08-ab68-9c785b336391.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=cd397b68-0db7-4a08-ab68-9c785b336391</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Now that WPF (Windows Presentation Foundation) is coming closer, it's getting high
time that we developers start looking at what WPF can do for us.<br /><br />
The Microsoft Windows Presentation Foundation provides the foundation for building
applications and high fidelity experiences in Windows Vista, blending together application
UI, documents, and media content, while exploiting the full power of your computer.<br /><br /><br /></p>
        <p align="center">
          <img height="325" src="http://www.snowball.be/content/binary/winfx.jpg" width="392" border="0" />
        </p>
        <p>
          <br />
          <a href="http://thirteen23.com/">This site</a> has 4very nice looking, downloadable
examples. You'll need WinFX Beta 2 to run them, though.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=cd397b68-0db7-4a08-ab68-9c785b336391" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF examples</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,cd397b68-0db7-4a08-ab68-9c785b336391.aspx</guid>
      <link>http://www.snowball.be/2006/06/07/WPF+Examples.aspx</link>
      <pubDate>Wed, 07 Jun 2006 18:47:42 GMT</pubDate>
      <description>&lt;p&gt;
Now that WPF (Windows Presentation Foundation) is coming closer, it's getting high
time that we developers start looking at what WPF can do for us.&lt;br&gt;
&lt;br&gt;
The Microsoft Windows Presentation Foundation provides the foundation for building
applications and high fidelity experiences in Windows Vista, blending together application
UI, documents, and media content, while exploiting the full power of your computer.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img height=325 src="http://www.snowball.be/content/binary/winfx.jpg" width=392 border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;a href="http://thirteen23.com/"&gt;This site&lt;/a&gt; has 4very nice looking, downloadable
examples. You'll need WinFX Beta 2 to run them, though.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=cd397b68-0db7-4a08-ab68-9c785b336391" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,cd397b68-0db7-4a08-ab68-9c785b336391.aspx</comments>
      <category>Vista</category>
      <category>Windows</category>
      <category>WinFX</category>
    </item>
  </channel>
</rss>