<?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 - WPF</title>
    <link>http://www.snowball.be/</link>
    <description>Gill's blog on .net programming</description>
    <language>en-us</language>
    <copyright>Gill Cleeren</copyright>
    <lastBuildDate>Mon, 08 Jun 2009 08:33:45 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=f867d0f6-4890-4cd6-a53d-f01d8907e570</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,f867d0f6-4890-4cd6-a53d-f01d8907e570.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,f867d0f6-4890-4cd6-a53d-f01d8907e570.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=f867d0f6-4890-4cd6-a53d-f01d8907e570</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday, we had the Flemish and European elections took place here in Belgium (in
case you aren't familiar with Belgian/Flemish government, take a look <a href="http://en.wikipedia.org/wiki/Flemish_Region">here</a>.
Note: it's quite complicated!).
</p>
        <p>
I'm not planning on turning my blog into a place for political statements, absolutely
not. However, Microsoft technology took a prominent place in these elections. VTM,
the Flemish commercial TV station, used <a href="http://www.microsoft.com/surface/">Microsoft
Surface</a> technology to show the results.
</p>
        <p>
The presenter used several items that were recognized by the Surface's internal camera's
to switch between the results of the parties (seen around her left hand in the below
screenshot).
</p>
        <p>
          <img border="0" src="http://www.snowball.be/content/binary/surface1.png" />
        </p>
        <p>
 
</p>
        <p>
          <img border="0" src="http://www.snowball.be/content/binary/surface4.png" />
        </p>
        <p>
When placing the tagged item on the surface, the results for the selected party are
shown.
</p>
        <p>
          <img border="0" src="http://www.snowball.be/content/binary/surface2.png" />
        </p>
        <p>
Also, a lot of dragging was implemented in the application. By clicking on a header,
she could show more details on the results.
</p>
        <p>
          <img border="0" src="http://www.snowball.be/content/binary/surface3.png" />
        </p>
        <p>
With this example, Surface has (as far as I know, I never watch TV...) made its
debut on Belgian television. And it made quite an impression on people as well...
My girlfriend came asking me if I knew what this "thing was they were using to drag
stuff around" on TV :)
</p>
        <p>
Update: here's the MSN Soapbox video:
</p>
        <embed id="80qvls3l" height="364" type="application/x-shockwave-flash" pluginspage="http://macromedia.com/go/getflashplayer" width="432" src="http://images.video.msn.com/flash/soapbox1_1.swf" flashvars="c=v&amp;v=cd68ee33-5707-416d-9f4d-ccc3da961324&amp;ifs=true&amp;fr=shared&amp;mkt=en-US" allowscriptaccess="always" allowfullscreen="true">
        </embed>
        <noembed>
        </noembed>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f867d0f6-4890-4cd6-a53d-f01d8907e570" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Surface (s)elected to show election results on Belgian TV</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,f867d0f6-4890-4cd6-a53d-f01d8907e570.aspx</guid>
      <link>http://www.snowball.be/2009/06/08/Surface+Selected+To+Show+Election+Results+On+Belgian+TV.aspx</link>
      <pubDate>Mon, 08 Jun 2009 08:33:45 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday, we had the Flemish and European elections took place here in Belgium (in
case you aren't familiar with Belgian/Flemish government, take a look &lt;a href="http://en.wikipedia.org/wiki/Flemish_Region"&gt;here&lt;/a&gt;.
Note: it's quite complicated!).
&lt;/p&gt;
&lt;p&gt;
I'm not planning on turning my blog into a place for political statements, absolutely
not. However, Microsoft technology took a prominent place in these elections. VTM,
the Flemish commercial TV station, used &lt;a href="http://www.microsoft.com/surface/"&gt;Microsoft
Surface&lt;/a&gt; technology to show the results.
&lt;/p&gt;
&lt;p&gt;
The presenter used several items that were recognized by the Surface's internal camera's
to switch between the results of the parties (seen around her left hand in the below
screenshot).
&lt;/p&gt;
&lt;p&gt;
&lt;img border=0 src="http://www.snowball.be/content/binary/surface1.png"&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;img border=0 src="http://www.snowball.be/content/binary/surface4.png"&gt;
&lt;/p&gt;
&lt;p&gt;
When placing the tagged item on the surface, the results for the selected party are
shown.
&lt;/p&gt;
&lt;p&gt;
&lt;img border=0 src="http://www.snowball.be/content/binary/surface2.png"&gt;
&lt;/p&gt;
&lt;p&gt;
Also, a lot of dragging was implemented in the application. By clicking on a header,
she could show more details on the results.
&lt;/p&gt;
&lt;p&gt;
&lt;img border=0 src="http://www.snowball.be/content/binary/surface3.png"&gt;
&lt;/p&gt;
&lt;p&gt;
With this example, Surface&amp;nbsp;has (as far as I know, I never watch TV...) made its
debut on Belgian television. And it made quite an impression on people as well...
My girlfriend came asking me if I knew what this "thing was they were using to drag
stuff around" on TV :)
&lt;/p&gt;
&lt;p&gt;
Update: here's the MSN Soapbox video:
&lt;/p&gt;
&lt;embed id=80qvls3l height=364 type=application/x-shockwave-flash pluginspage=http://macromedia.com/go/getflashplayer width=432 src=http://images.video.msn.com/flash/soapbox1_1.swf flashvars="c=v&amp;amp;v=cd68ee33-5707-416d-9f4d-ccc3da961324&amp;amp;ifs=true&amp;amp;fr=shared&amp;amp;mkt=en-US" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;noembed&gt;
&lt;/noembed&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f867d0f6-4890-4cd6-a53d-f01d8907e570" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,f867d0f6-4890-4cd6-a53d-f01d8907e570.aspx</comments>
      <category>Efficiency</category>
      <category>Microsoft</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=0e14d3fb-915e-4064-8684-6b8266c66681</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,0e14d3fb-915e-4064-8684-6b8266c66681.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,0e14d3fb-915e-4064-8684-6b8266c66681.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=0e14d3fb-915e-4064-8684-6b8266c66681</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Wow, what an exciting week this is! In fact, I'm having trouble waiting for all the
info that will come our way tomorrow.<br />
Why tomorrow, you might ask? Well, Mix'08 is starting in Las Vegas in just a few hours.
And as expectec, a lot of great info and visions will be shared, mostly during the
big opening keynote. 
</p>
        <p>
A little further in this post, I have collected some info I managed to find already.
Some of the things we'll see being announced tomorrow will greatly expand the
possibilities we as webdevelopers/designers have. In fact, the web is wide open, the
oppurtunities coming are way are endless. 
</p>
        <p>
One of, if not THE biggest announcement tomorrow, will of course be Silverlight 2.0
beta. A great toolset will make it much easier to create next-gen UX for the web.
Datagrids will be on the rendez-vous, whom are still missed in WPF however. Today,
Nokia announced the availability of Silverlight on their (Symbian) smartphones, so
it's a guess, but I think we'll see more on a mobile version of Silverlight tomorrow
(as I said, it's a guess...)
</p>
        <p>
I managed to find some info on Expression too... Expression Studio V2 is coming this
April appearantly, if we can already believe the rumors. Laurent Bugnion has more
info on that on <a href="http://geekswithblogs.net/lbugnion/archive/2008/03/04/mix08-random-pieces-of-news.aspx">his
blog</a>.
</p>
        <p>
And if you're not in Vegas, do use the possibilites of the web to take a look at the
future! The opening keynote will be broadcast live (<a href="http://wm.istreamplanet.com/customers/ms/750_microsoft_mix_080305.asx" mce_href="http://wm.istreamplanet.com/customers/ms/750_microsoft_mix_080305.asx">750kbps</a>, <a href="http://wm.istreamplanet.com/customers/ms/300_microsoft_mix_080305.asx" mce_href="http://wm.istreamplanet.com/customers/ms/300_microsoft_mix_080305.asx">300kbps</a>, <a href="http://wm.istreamplanet.com/customers/ms/100_microsoft_mix_080305.asx" mce_href="http://wm.istreamplanet.com/customers/ms/100_microsoft_mix_080305.asx">100kbps</a>)
at 9:30am Pacific / 5:30pm GMT. Microsoft also made a promise that all sessions will
be downloadable within 24 hours! That means, start your download engines, go get soms
sleep today, as you won't be having any time to go to bed once all this info is online!
</p>
        <p>
Stay tuned for more Mix info on Snowball.be!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0e14d3fb-915e-4064-8684-6b8266c66681" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WideOpen Web: Mix'08 almost starting</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,0e14d3fb-915e-4064-8684-6b8266c66681.aspx</guid>
      <link>http://www.snowball.be/2008/03/04/WideOpen+Web+Mix08+Almost+Starting.aspx</link>
      <pubDate>Tue, 04 Mar 2008 21:03:50 GMT</pubDate>
      <description>&lt;p&gt;
Wow, what an exciting week this is! In fact, I'm having trouble waiting for all the
info that will come our way tomorrow.&lt;br&gt;
Why tomorrow, you might ask? Well, Mix'08 is starting in Las Vegas in just a few hours.
And as expectec, a lot of great info and visions will be shared, mostly during the
big opening keynote. 
&lt;/p&gt;
&lt;p&gt;
A little further in this post, I have collected some info I managed to find already.
Some of the things we'll see being announced&amp;nbsp;tomorrow will greatly expand the
possibilities we as webdevelopers/designers have. In fact, the web is wide open, the
oppurtunities coming are way are endless. 
&lt;/p&gt;
&lt;p&gt;
One of, if not THE biggest announcement tomorrow, will of course be Silverlight 2.0
beta. A great toolset will make it much easier to create next-gen UX for the web.
Datagrids will be on the rendez-vous, whom are still missed in WPF however. Today,
Nokia announced the availability of Silverlight on their (Symbian) smartphones, so
it's a guess, but I think we'll see more&amp;nbsp;on a mobile version of Silverlight tomorrow
(as I said, it's a guess...)
&lt;/p&gt;
&lt;p&gt;
I managed to find some info on Expression too... Expression Studio V2 is coming this
April appearantly, if we can already believe the rumors. Laurent Bugnion has more
info on that on &lt;a href="http://geekswithblogs.net/lbugnion/archive/2008/03/04/mix08-random-pieces-of-news.aspx"&gt;his
blog&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
And if you're not in Vegas, do use the possibilites of the web to take a look at the
future! The opening keynote will be broadcast live (&lt;a href="http://wm.istreamplanet.com/customers/ms/750_microsoft_mix_080305.asx" mce_href="http://wm.istreamplanet.com/customers/ms/750_microsoft_mix_080305.asx"&gt;750kbps&lt;/a&gt;, &lt;a href="http://wm.istreamplanet.com/customers/ms/300_microsoft_mix_080305.asx" mce_href="http://wm.istreamplanet.com/customers/ms/300_microsoft_mix_080305.asx"&gt;300kbps&lt;/a&gt;, &lt;a href="http://wm.istreamplanet.com/customers/ms/100_microsoft_mix_080305.asx" mce_href="http://wm.istreamplanet.com/customers/ms/100_microsoft_mix_080305.asx"&gt;100kbps&lt;/a&gt;)
at 9:30am Pacific / 5:30pm GMT. Microsoft also made a promise that all sessions will
be downloadable within 24 hours! That means, start your download engines, go get soms
sleep today, as you won't be having any time to go to bed once all this info is online!
&lt;/p&gt;
&lt;p&gt;
Stay tuned for more Mix info on Snowball.be!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0e14d3fb-915e-4064-8684-6b8266c66681" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,0e14d3fb-915e-4064-8684-6b8266c66681.aspx</comments>
      <category>.net</category>
      <category>Silverlight</category>
      <category>WPF</category>
      <category>Expression</category>
      <category>Mix 08</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=05b07eb0-b370-4628-919b-7c881b388126</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,05b07eb0-b370-4628-919b-7c881b388126.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,05b07eb0-b370-4628-919b-7c881b388126.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=05b07eb0-b370-4628-919b-7c881b388126</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p align="center">
          <img src="http://www.snowball.be/content/binary/kaxaml.jpg" border="0" />
        </p>
        <p>
KaXaml has finally hit the 1.0 milestone! Indeed, finally!
</p>
        <p>
In case you don't know this great little (free) XAML tool, here's what the official
website has to say on it: 
<br /><em>Kaxaml is a lightweight XAML editor that gives you a "split view" so you can see
both your XAML and your rendered content (kind of like XamlPad but without the gigabyte
of SDK).</em></p>
        <p>
There are a lot of new features included in the 1.0 release, including Intellisense
support, a new UI and tabsupport. To see an overview of all the new features, go <a href="http://notstatic.com/archives/121#comment-48071">here</a>.
One other interesting thing it that it now has basic support for Silverlight too!
</p>
        <p>
Convinced that this can and will make your XAML life easier? Go <a href="http://kaxaml.com/downloads/Kaxaml_1.0.msi">here</a> for
the free download or visit <a href="http://www.kaxaml.com">www.kaxaml.com</a> .
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=05b07eb0-b370-4628-919b-7c881b388126" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>KaXaml 1.0: final release, includes support for Silverlight!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,05b07eb0-b370-4628-919b-7c881b388126.aspx</guid>
      <link>http://www.snowball.be/2008/01/06/KaXaml+10+Final+Release+Includes+Support+For+Silverlight.aspx</link>
      <pubDate>Sun, 06 Jan 2008 23:02:28 GMT</pubDate>
      <description>&lt;p align=center&gt;
&lt;img src="http://www.snowball.be/content/binary/kaxaml.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
KaXaml has finally hit the 1.0 milestone! Indeed, finally!
&lt;/p&gt;
&lt;p&gt;
In case you don't know this great little (free) XAML tool, here's what the official
website has to say on it: 
&lt;br&gt;
&lt;em&gt;Kaxaml is a lightweight XAML editor that gives you a "split view" so you can see
both your XAML and your rendered content (kind of like XamlPad but without the gigabyte
of SDK).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
There are a lot of new features included in the 1.0 release, including Intellisense
support, a new UI and tabsupport. To see an overview of all the new features, go &lt;a href="http://notstatic.com/archives/121#comment-48071"&gt;here&lt;/a&gt;.
One other interesting thing it that it now has basic support for Silverlight too!
&lt;/p&gt;
&lt;p&gt;
Convinced that this can and will make your XAML life easier? Go &lt;a href="http://kaxaml.com/downloads/Kaxaml_1.0.msi"&gt;here&lt;/a&gt; for
the free download or visit &lt;a href="http://www.kaxaml.com"&gt;www.kaxaml.com&lt;/a&gt; .
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=05b07eb0-b370-4628-919b-7c881b388126" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,05b07eb0-b370-4628-919b-7c881b388126.aspx</comments>
      <category>Silverlight</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=df9c2d5a-e360-4d7d-8c50-29b24304c058</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,df9c2d5a-e360-4d7d-8c50-29b24304c058.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,df9c2d5a-e360-4d7d-8c50-29b24304c058.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=df9c2d5a-e360-4d7d-8c50-29b24304c058</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Since the dawn of WPF (Windows Presentation Foundation), it became easy for developers
to create applications that were nearly impossible to create without it. Creating
animations, transformations, gradients is as easy as 1-2-3. In the end, the user who
has to work with the application will benefit from this. The User Interface is what
you are looking at every day, so don't you want it to look at least a little nicer
than the old-school grey?<br /><br />
Sadly enough, I still hear people complain that UI is not important, which is ignorant
in my opinion(Ignorance is bliss, they say, however in this case, I beg to differ). If
you have the nicest architecture imaginable, if your application is developed with
the latest best practices or if you used the newest ways of service communication,
it all falls apart when your application looks like it was developed in the 90's.
The end user will not see this.<br />
Take your average customer and present him an ugly and nicely architectured program,
and another one, only this time with a really cool looking UI, but not developed as
it should.<br />
Which one will he choose? I would bet my money on the latter one. 
<br /><br />
Maybe it's not obvious at first sight, but I'm sure that users really look for nicer
looking apps. Computers are capable of displaying nicer graphics, well then, use this
possibility. 
<br />
I rest assured that WPF and Silverlight really are the platforms to develop next-gen
applications. 
<br /><br />
In a question to Dino Esposito on DevConn07 on the fact if Silverlight and WPF will
replace Winforms and ASP.net, he says the following:
</p>
        <p mce_keep="true">
          <em>I firmly believe that the two worlds—Web and Windows—will remain neatly separated
for most of the foreseeable future.  At the same time, though, the advent of
WPF and Silverlight generates many more possibilities of interaction between Web and
Windows that were just impossible or impractical before.  Once the <strong>next</strong> Silverlight
is available you can develop for the Web with much of the same ease you experience
today for the desktop. You could even get to the point of using the same WPF document
to power the Web and Windows front-end of a multi-tier system. Well, not for
free, but is definitely a scenario that the use of proper design patterns (i.e.,
the Model-View-Presenter pattern) may enable. At that point, I believe that you just
have two options--deluxe experience with a 100% Silverlight solution or normally rich
Web experience with a combination of AJAX and Silverlight in the same ASP.NET page.
With Silverlight used in this case as a rendering engine for special data. </em>
        </p>
        <p mce_keep="true">
          <em>To be more direct with the question: For Silverlight and WPF to dethrone ASP.NET
and AJAX <strong>all</strong> developers on <strong>all</strong> platforms must agree
to use it. Technologically speaking, nothing prevents this from happening. In practice,
though, I wouldn’t bet on it. But I see a lot of interaction taking place between
Silverlight and ASP.NET AJAX applications.</em>
        </p>
        <p mce_keep="true">
I do think the same. I'm not suggesting WPF and Silverlight will replace ASP.net entirely,
but I do believe that in the NEAR future, when the demand for RIA's (rich interactive
applications) will rise, those companies that are ready for this, will profit from
this.<br /><br />
Do note that I'm not promoting bad architecture in my opinion here, quite the opposite
in fact. BUT I reckon that it should be in combination with a well designed user interface,
using the newest applicable technologies. I'm trying to convince people to start thinking
this way... Let's hope for the best.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=df9c2d5a-e360-4d7d-8c50-29b24304c058" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Silverlight's future as a platform</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,df9c2d5a-e360-4d7d-8c50-29b24304c058.aspx</guid>
      <link>http://www.snowball.be/2007/11/12/Silverlights+Future+As+A+Platform.aspx</link>
      <pubDate>Mon, 12 Nov 2007 19:41:55 GMT</pubDate>
      <description>&lt;p&gt;
Since the dawn of WPF (Windows Presentation Foundation), it became easy&amp;nbsp;for developers
to create applications that were nearly impossible to create without it. Creating
animations, transformations, gradients is as easy as 1-2-3. In the end, the user who
has to work with the application will benefit from this. The User Interface is what
you are looking at every day, so don't you want it to look at least a little nicer
than the old-school grey?&lt;br&gt;
&lt;br&gt;
Sadly enough, I still hear people complain that UI is not important, which is ignorant
in my opinion(Ignorance is bliss, they say, however in this case, I beg to differ).&amp;nbsp;If
you have the nicest architecture imaginable, if your application is developed with
the latest best practices or if you used the newest ways of service communication,
it all falls apart when your application looks like it was developed in the 90's.
The end user will not see this.&lt;br&gt;
Take your average customer and present him an ugly and nicely architectured program,
and another one, only this time with a really cool looking UI, but not developed as
it should.&lt;br&gt;
Which one will he choose? I would bet my money on the latter one. 
&lt;br&gt;
&lt;br&gt;
Maybe it's not obvious at first sight, but I'm sure that users really look for nicer
looking apps. Computers are capable of displaying nicer graphics, well then, use this
possibility. 
&lt;br&gt;
I rest assured that WPF and Silverlight really are the platforms to develop next-gen
applications. 
&lt;br&gt;
&lt;br&gt;
In a question to Dino Esposito on DevConn07 on the fact if Silverlight and WPF will
replace Winforms and ASP.net, he says the following:
&lt;/p&gt;
&lt;p mce_keep="true"&gt;
&lt;em&gt;I firmly believe that the two worlds—Web and Windows—will remain neatly separated
for most of the foreseeable future.&amp;nbsp; At the same time, though, the advent of
WPF and Silverlight generates many more possibilities of interaction between Web and
Windows that were just impossible or impractical before.&amp;nbsp;&amp;nbsp;Once the &lt;strong&gt;next&lt;/strong&gt; Silverlight
is available you can develop for the Web with much of the same ease you experience
today for the desktop. You could even get to the point of using the same WPF document
to power the Web and Windows front-end of a multi-tier system. Well,&amp;nbsp;not&amp;nbsp;for
free, but is definitely&amp;nbsp;a scenario that the use of proper design patterns (i.e.,
the Model-View-Presenter pattern) may enable. At that point, I believe that you just
have two options--deluxe experience with a 100% Silverlight solution or normally rich
Web experience with a combination of AJAX and Silverlight in the same ASP.NET page.
With Silverlight used in this case as a rendering engine for special data. &lt;/em&gt;
&lt;/p&gt;
&lt;p mce_keep="true"&gt;
&lt;em&gt;To be more direct with the question: For Silverlight and WPF to dethrone ASP.NET
and AJAX &lt;strong&gt;all&lt;/strong&gt; developers on &lt;strong&gt;all&lt;/strong&gt; platforms must agree
to use it. Technologically speaking, nothing prevents this from happening. In practice,
though, I wouldn’t bet on it. But I see a lot of interaction taking place between
Silverlight and ASP.NET AJAX applications.&lt;/em&gt;
&lt;/p&gt;
&lt;p mce_keep="true"&gt;
I do think the same. I'm not suggesting WPF and Silverlight will replace ASP.net entirely,
but I do believe that in the NEAR future, when the demand for RIA's (rich interactive
applications) will rise, those companies that are ready for this, will profit from
this.&lt;br&gt;
&lt;br&gt;
Do note that I'm not promoting bad architecture in my opinion here, quite the opposite
in fact. BUT I reckon that it should be in combination with a well designed user interface,
using the newest applicable technologies. I'm trying to convince people to start thinking
this way... Let's hope for the best.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=df9c2d5a-e360-4d7d-8c50-29b24304c058" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,df9c2d5a-e360-4d7d-8c50-29b24304c058.aspx</comments>
      <category>.net</category>
      <category>Silverlight</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=91a2167c-a9e9-42b9-9778-c1000fe8be19</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,91a2167c-a9e9-42b9-9778-c1000fe8be19.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,91a2167c-a9e9-42b9-9778-c1000fe8be19.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=91a2167c-a9e9-42b9-9778-c1000fe8be19</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday, another CTP of Blend 2, THE tool for create Silverlight and Windows Presentation
Foundation applications, was released. This time, it's the September Preview.<br />
Here's a list of what was added/changed: 
</p>
        <ul>
          <li>
VS2008 beta 2 full support 
</li>
          <li>
Creation of Controls from existing objects - reuse them all. 
</li>
          <li>
Some enhancements with Split View - now you can see Design and Code both as well as
you can do it in Visual Studio 
</li>
          <li>
Storyboard picker - the old Storyboard panel has been thrown and replaced with brand
new storyboard picker. Now you can duplicate, reverse or delete existing storyboard
or easy modify its properties. 
</li>
          <li>
Aside with new storyboard picker, now you have properties panel both for all sotryboard
or single frame. 
</li>
          <li>
New functionality - 3D Vertex animation 
</li>
          <li>
Long awaited Breadcrumb bar 
</li>
          <li>
Subsetting and embedding fonts within your application (EULA awarded) 
</li>
          <li>
New build options - how you can create custom builds for better integration with Visual
Studio 
</li>
          <li>
New abilities of object manipulation - uniformly resize, scale, rotate multiple objects,
resizing handlers at artboard. Easy object duplication by dragging with Ctrl-P pressed. 
</li>
        </ul>
        <p>
You can download a free copy <a href="http://www.microsoft.com/expression/products/download.aspx?key=blend2preview" target="_blank">here</a>. 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=91a2167c-a9e9-42b9-9778-c1000fe8be19" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Blend 2 September CTP released</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,91a2167c-a9e9-42b9-9778-c1000fe8be19.aspx</guid>
      <link>http://www.snowball.be/2007/09/24/Blend+2+September+CTP+Released.aspx</link>
      <pubDate>Mon, 24 Sep 2007 21:37:54 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday, another CTP of Blend 2, THE tool for create Silverlight and Windows Presentation
Foundation applications, was released. This time, it's the September Preview.&lt;br&gt;
Here's a list of what was added/changed: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
VS2008 beta 2 full support 
&lt;li&gt;
Creation of Controls from existing objects - reuse them all. 
&lt;li&gt;
Some enhancements with Split View - now you can see Design and Code both as well as
you can do it in Visual Studio 
&lt;li&gt;
Storyboard picker - the old Storyboard panel has been thrown and replaced with brand
new storyboard picker. Now you can duplicate, reverse or delete existing storyboard
or easy modify its properties. 
&lt;li&gt;
Aside with new storyboard picker, now you have properties panel both for all sotryboard
or single frame. 
&lt;li&gt;
New functionality - 3D Vertex animation 
&lt;li&gt;
Long awaited Breadcrumb bar 
&lt;li&gt;
Subsetting and embedding fonts within your application (EULA awarded) 
&lt;li&gt;
New build options - how you can create custom builds for better integration with Visual
Studio 
&lt;li&gt;
New abilities of object manipulation - uniformly resize, scale, rotate multiple objects,
resizing handlers at artboard. Easy object duplication by dragging with Ctrl-P pressed. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
You can download a free copy &lt;a href="http://www.microsoft.com/expression/products/download.aspx?key=blend2preview" target=_blank&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=91a2167c-a9e9-42b9-9778-c1000fe8be19" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,91a2167c-a9e9-42b9-9778-c1000fe8be19.aspx</comments>
      <category>Silverlight</category>
      <category>WPF</category>
      <category>XAML</category>
      <category>Blend</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=2f995a5f-4b6c-4726-b606-597e05efe7b0</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,2f995a5f-4b6c-4726-b606-597e05efe7b0.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,2f995a5f-4b6c-4726-b606-597e05efe7b0.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=2f995a5f-4b6c-4726-b606-597e05efe7b0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
When I came home today from an entire day of meetings, something was waiting at home
to cheer me up ;-) . My neighbor brought in a package that was dropped by the mailman
at their address, because I wasn't home.
</p>
        <p>
I opened it up, and... it was the new book of Charles Petzold (writer of "Applications
= Code + Markup", the first book on WPF that was published last year), 3D Programming
For Windows. It's completely focused on WPF programming, and from what I already saw,
can serve as a sequel to his first book.
</p>
        <p>
          <img src="http://www.snowball.be/content/binary/DSC03246.jpg" border="0" />
        </p>
        <p>
Here's a short description of the book's contents:<br /><em><br />
Get the practical introduction to programming 3D graphics using the Windows Presentation
Foundation – straight from programming legend Charles Petzold. The Windows Presentation
Foundation is a key component of .NET Framework 3.0, which is a part of Windows Vista™
and available for Windows XP. With the Windows Presentation Foundation, 3D images
can be displayed regardless of the video-display hardware on the user’s machine. This
practical guide is the ideal supplement to Applications = Code + Markup: A Guide to
the Microsoft Windows Presentation Foundation. </em></p>
        <div class="description">
          <p>
            <em>Focusing on developing user interface objects or simple animations, this book
builds on a reader’s knowledge of Windows Presentation Foundation essentials to demonstrate
how to effectively create 3D graphics for Windows. You get the fundamental information
for using the Windows Presentation Foundation 3D application programming interface
(API), as well as in-depth coverage of mesh geometries – the key technology that enables
3D graphics. Includes code samples in XAML, with additional code samples in Microsoft
Visual C#®.</em>
          </p>
        </div>
        <p>
If you want, you can order it at (international) <a href="http://www.amazon.com/3D-Programming-Windows-Pro-Developer/dp/0735623945/ref=pd_bbs_sr_1/102-0995876-7201724?ie=UTF8&amp;s=books&amp;qid=1188859943&amp;sr=8-1">Amazon</a> or
(Belgium) at <a href="http://www.hcw.be/p.aspx?p=J0409">HCW</a>.
</p>
        <p>
I received it from him as a gift, so Charles, thanks!! I'll start reading very very
soon.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2f995a5f-4b6c-4726-b606-597e05efe7b0" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Nice surprise in the mail today</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,2f995a5f-4b6c-4726-b606-597e05efe7b0.aspx</guid>
      <link>http://www.snowball.be/2007/09/03/Nice+Surprise+In+The+Mail+Today.aspx</link>
      <pubDate>Mon, 03 Sep 2007 22:56:53 GMT</pubDate>
      <description>&lt;p&gt;
When I came home today from an entire day of meetings, something was waiting at home
to cheer me up ;-) . My neighbor brought in a package that was dropped by the mailman
at their address, because I wasn't home.
&lt;/p&gt;
&lt;p&gt;
I opened it up, and... it was the new book of Charles Petzold (writer of "Applications
= Code + Markup", the first book on WPF that was published last year), 3D Programming
For Windows. It's completely focused on WPF programming, and from what I already saw,
can serve as a sequel to his first book.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.snowball.be/content/binary/DSC03246.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Here's a short description of the book's contents:&lt;br&gt;
&lt;em&gt;
&lt;br&gt;
Get the practical introduction to programming 3D graphics using the Windows Presentation
Foundation – straight from programming legend Charles Petzold. The Windows Presentation
Foundation is a key component of .NET Framework 3.0, which is a part of Windows Vista™
and available for Windows XP. With the Windows Presentation Foundation, 3D images
can be displayed regardless of the video-display hardware on the user’s machine. This
practical guide is the ideal supplement to Applications = Code + Markup: A Guide to
the Microsoft Windows Presentation Foundation. &lt;/em&gt;
&lt;/p&gt;
&lt;div class=description&gt;
&lt;p&gt;
&lt;em&gt;Focusing on developing user interface objects or simple animations, this book
builds on a reader’s knowledge of Windows Presentation Foundation essentials to demonstrate
how to effectively create 3D graphics for Windows. You get the fundamental information
for using the Windows Presentation Foundation 3D application programming interface
(API), as well as in-depth coverage of mesh geometries – the key technology that enables
3D graphics. Includes code samples in XAML, with additional code samples in Microsoft
Visual C#®.&lt;/em&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
If you want, you can order it at (international) &lt;a href="http://www.amazon.com/3D-Programming-Windows-Pro-Developer/dp/0735623945/ref=pd_bbs_sr_1/102-0995876-7201724?ie=UTF8&amp;amp;s=books&amp;amp;qid=1188859943&amp;amp;sr=8-1"&gt;Amazon&lt;/a&gt;&amp;nbsp;or
(Belgium) at &lt;a href="http://www.hcw.be/p.aspx?p=J0409"&gt;HCW&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I received it from him as a gift, so Charles, thanks!! I'll start reading very very
soon.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2f995a5f-4b6c-4726-b606-597e05efe7b0" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,2f995a5f-4b6c-4726-b606-597e05efe7b0.aspx</comments>
      <category>.net 3.0</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=7a078815-8402-4788-a902-de25fccd4873</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,7a078815-8402-4788-a902-de25fccd4873.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,7a078815-8402-4788-a902-de25fccd4873.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=7a078815-8402-4788-a902-de25fccd4873</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Silverlighteventbyme_14669/150px-Silverlight%5B7%5D.png" atomicselection="true">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="209" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Silverlighteventbyme_14669/150px-Silverlight_thumb%5B3%5D.png" width="188" align="right" border="0" />
          </a>
        </p>
        <p>
I'll be doing a session on Silverlight next month, on September 20th for Visug, the
Belgian Visual Studio User Group. In this session, I'll give an overview of XAML too,
so that if you've got no knowledge, you'll still be able to follow the entire session.
This event will take place in the Ordina (my company) buildings in Schelle. 
</p>
        <p>
I will announce the complete overview in a few days, as I'll be working on my session
in the coming week (I have a week off, but I'll be working anyhow ;-) ). 
</p>
        <p>
If you want to register for this free training, please go to <a href="http://www.visug.be">www.visug.be</a> and
click on the event! So, what are you waiting for?!?!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7a078815-8402-4788-a902-de25fccd4873" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Silverlight event by me!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,7a078815-8402-4788-a902-de25fccd4873.aspx</guid>
      <link>http://www.snowball.be/2007/08/10/Silverlight+Event+By+Me.aspx</link>
      <pubDate>Fri, 10 Aug 2007 21:12:59 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Silverlighteventbyme_14669/150px-Silverlight%5B7%5D.png" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=209 src="http://www.snowball.be/content/binary/WindowsLiveWriter/Silverlighteventbyme_14669/150px-Silverlight_thumb%5B3%5D.png" width=188 align=right border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
I'll be doing a session on Silverlight next month, on September 20th for Visug, the
Belgian Visual Studio User Group. In this session, I'll give an overview of XAML too,
so that if you've got no knowledge, you'll still be able to follow the entire session.
This event will take place in the Ordina (my company) buildings in Schelle. 
&lt;p&gt;
I will announce the complete overview in a few days, as I'll be working on my session
in the coming week (I have a week off, but I'll be working anyhow ;-) ). 
&lt;p&gt;
If you want to register for this free training, please go to &lt;a href="http://www.visug.be"&gt;www.visug.be&lt;/a&gt; and
click on the event! So, what are you waiting for?!?!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7a078815-8402-4788-a902-de25fccd4873" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,7a078815-8402-4788-a902-de25fccd4873.aspx</comments>
      <category>.net</category>
      <category>Silverlight</category>
      <category>Visug</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Did you know Blender already? If not, it's a free program to develop 3D stuff. It's
pretty powerfull, certainly for being free.<br />
Very recently, a new reason to start using it emerged: you can use it to create 3D
graphics AND export them to XAML. This way, you can use them in your WPF projects.<br /><br />
To accomplish the export, you have to download a plugin that can be found <a href="http://wpf.netfx3.com/files/folders/designer/entry3850.aspx">here</a>.
To get Blender, go <a href="http://www.blender.org/">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Free 3D for WPF </title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf.aspx</guid>
      <link>http://www.snowball.be/2007/07/06/Free+3D+For+WPF.aspx</link>
      <pubDate>Fri, 06 Jul 2007 18:29:48 GMT</pubDate>
      <description>&lt;p&gt;
Did you know Blender already? If not, it's a free program to develop 3D stuff. It's
pretty powerfull, certainly for being free.&lt;br&gt;
Very recently, a new reason to start using it emerged: you can use it to create 3D
graphics AND export them to XAML. This way, you can use them in your WPF projects.&lt;br&gt;
&lt;br&gt;
To accomplish the export, you have to download a plugin that can be found &lt;a href="http://wpf.netfx3.com/files/folders/designer/entry3850.aspx"&gt;here&lt;/a&gt;.
To get Blender, go &lt;a href="http://www.blender.org/"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,b4b3d0b1-ddb2-40e4-baeb-dd28efdfb8bf.aspx</comments>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=24992be1-d1d7-4c7b-b69f-43240870937a</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,24992be1-d1d7-4c7b-b69f-43240870937a.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,24992be1-d1d7-4c7b-b69f-43240870937a.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=24992be1-d1d7-4c7b-b69f-43240870937a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
MSDN released a new and amazing hands-on lab on WPF. This tutorial will show you how
to create a UI just like Outlook 2007 using WPF.<br />
The result looks like this:
</p>
        <p>
          <img alt="" hspace="0" src="http://www.microsoft.com/switzerland/msdn/de/images/outlook_hol_wpf.jpg" align="baseline" border="0" />
        </p>
        <p>
You can download the PDF and the solution <a href="http://www.microsoft.com/switzerland/msdn/de/events/hol/wpf.mspx">here</a>.<br /><br /></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=24992be1-d1d7-4c7b-b69f-43240870937a" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Very interesting WPF tutorial</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,24992be1-d1d7-4c7b-b69f-43240870937a.aspx</guid>
      <link>http://www.snowball.be/2007/07/06/Very+Interesting+WPF+Tutorial.aspx</link>
      <pubDate>Fri, 06 Jul 2007 18:25:28 GMT</pubDate>
      <description>&lt;p&gt;
MSDN released a new and amazing hands-on lab on WPF. This tutorial will show you how
to create a UI just like Outlook 2007 using WPF.&lt;br&gt;
The result looks like this:
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="" hspace=0 src="http://www.microsoft.com/switzerland/msdn/de/images/outlook_hol_wpf.jpg" align=baseline border=0&gt;
&lt;/p&gt;
&lt;p&gt;
You can download the PDF and the solution &lt;a href="http://www.microsoft.com/switzerland/msdn/de/events/hol/wpf.mspx"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=24992be1-d1d7-4c7b-b69f-43240870937a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,24992be1-d1d7-4c7b-b69f-43240870937a.aspx</comments>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=db7a5bc2-e937-48fc-88b1-480aa59e8d1d</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,db7a5bc2-e937-48fc-88b1-480aa59e8d1d.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,db7a5bc2-e937-48fc-88b1-480aa59e8d1d.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=db7a5bc2-e937-48fc-88b1-480aa59e8d1d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I came across <a href="http://mbrownchicago.spaces.live.com/">this post</a> which
has code for a perfect XAML shield. 
<br /></p>
        <p align="center">
          <img src="http://www.snowball.be/content/binary/shield.JPG" border="0" />
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=db7a5bc2-e937-48fc-88b1-480aa59e8d1d" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Xaml shield</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,db7a5bc2-e937-48fc-88b1-480aa59e8d1d.aspx</guid>
      <link>http://www.snowball.be/2007/05/23/Xaml+Shield.aspx</link>
      <pubDate>Wed, 23 May 2007 21:44:07 GMT</pubDate>
      <description>&lt;p&gt;
I came across &lt;a href="http://mbrownchicago.spaces.live.com/"&gt;this post&lt;/a&gt; which
has code for a perfect XAML shield. 
&lt;br&gt;
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img src="http://www.snowball.be/content/binary/shield.JPG" border=0&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=db7a5bc2-e937-48fc-88b1-480aa59e8d1d" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,db7a5bc2-e937-48fc-88b1-480aa59e8d1d.aspx</comments>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=67098180-5b7b-4bdf-84cd-af103f267ebb</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,67098180-5b7b-4bdf-84cd-af103f267ebb.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,67098180-5b7b-4bdf-84cd-af103f267ebb.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=67098180-5b7b-4bdf-84cd-af103f267ebb</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As WPF is becoming more and more used, the list of available tools and controls is
growing fast.<br /><br />
Therefore, it seemed a good idea to list all the tools that I use or know but don't
use yet, and share that list with you!
</p>
        <p>
          <strong>Professional tools</strong>
        </p>
        <p>
          <u>Visual Studio 2005<br /></u>There's no doubt that Visual Studio 2005 is the best environment for developing
WPF applications. So, if you have access to it (via MSDN for example), I certainly
recommend using it.<br />
However, out of the box, it has no knowledge of WPF projects, so you'll have to install
some additional software.<br />
First, you should install the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=c2b1e300-f358-4523-b479-f53d234cdccf&amp;displaylang=en">Windows
SDK</a> (free), then you should add the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=F54F5537-CC86-4BF5-AE44-F5A1E805680D&amp;displaylang=en">Visual
Studio 2005 extensions for .net 3.0 framework</a> (they also include templates for
WCF). These extensions install the templates for development of WPF projects, and
also add Intellisense for XAML code (on a sidenote, when writing XAML code, the Intellisense
is not always correct in flagging errors, due to the fact that the extensions are
still in CTP phase!)
</p>
        <p align="center">
 <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf1%5B1%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="127" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf1.jpg" width="240" border="0" /></a></p>
        <p>
          <br />
Also, you now get a designer for WPF applications, which is code-named Cider. The
complete version will be included in the Orcas release.<br /><br /><u>Visual Studio Orcas<br /></u>There's life after Visual Studio 2005! And it is known as Orcas. Visual Studio
Orcas, the successor of 2005, will probably be released in Q4 2007, but you can download
the CTP since a few months.<br />
Just recently, the March 2007 CTP was released, which is considered a milestone on
the road to the complete product. 
</p>
        <p>
 <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf2%5B6%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 5px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="48" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf2_thumb%5B4%5D.jpg" width="240" align="left" border="0" /></a><br />
So, what will Orcas bring to the world of WPF? It will include full support for designing
WPF windows and web applications, with the completed version of Cider.<br />
For now, it's possible to start using Orcas. You can download the CTP <a href="http://www.microsoft.com/downloads/details.aspx?familyid=281FCB3D-5E79-4126-B4C0-8DB6332DE26E&amp;displaylang=en">here</a> (large
download, beware!)<br /><br /><u>Expression Suite<br /></u>The Expression suite is a range of new products from Microsoft. The collection
includes Blend, Web, Design and Media. Web is more or less the (very much improved)
successor of FrontPage.<br /><br />
Blend is the tool that is the most interesting for WPF developers/designers. It allows
you to open a WPF project, design it in a very advanced environment using a wide range
of tools (much like Photoshop, but for designing user interfaces). After you're finished,
you can open the project in Visual Studio again. 
<br />
At this time, Blend is in RC, but since it's a <a href="http://www.microsoft.com/products/expression/en/Expression-Blend/try.mspx">public
download</a>, you can start using it right now. I hope I'll find some time to do a
tutorial on Blend soon. 
<br /><br />
Design, a professional illustration and graphic design tool, is still in beta
2, but also available for <a href="http://www.microsoft.com/products/expression/en/expression-design/free-trial.mspx">download</a> already.
Design fully supports export to XAML, which makes it easy to incorporate your graphics
with your other XAML code.<br />
On a sidenote, Web has been released and you can download a trial <a href="http://www.microsoft.com/products/expression/en/expression-design/free-trial.mspx">here</a>. 
</p>
        <p>
          <strong>Controls</strong>
        </p>
        <p>
          <u>Infragistics NetAdvantage 2007 for WPF<br /></u>Infragistics recently released Beta 1 of their first WPF controls. The suite,
which can be downloaded <a href="http://www.infragistics.com/hot/wpf.aspx#NetAdvantageforWPFBeta">here</a> for
free, includes the xamDataGrid and xamDataPresenter controls (pronounced "zamDataGrid"
and "zamDataPresente<a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/CarouselView_Users12.png" atomicselection="true"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 5px 5px 10px 0px; BORDER-RIGHT-WIDTH: 0px" height="127" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/CarouselView_Users1_thumb.png" width="240" align="left" border="0" /></a>r"). 
<br /><br /><br />
Some controls, like the xamCarouselListBox seem very promising and seem to make it
very easy to add advanced features to your applications.<br />
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
          <u>ActiPro Ribbon<br /></u>Last week, I got a mail from ActiPro, to introduce me to their ActiPro Ribbon.
The control <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/Ribbon%5B1%5D.gif" atomicselection="true"><img style="MARGIN: 0px 0px 0px 5px" height="105" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/Ribbon%5B1%5D_thumb.gif" width="240" align="right" /></a>features Office
2007-like user interface for the Windows Presentation Foundation (WPF) and meets all
of the core Microsoft licensing requirements for implementation of a ribbon user interface.
I must say, it looks very nice. You can download a demo <a href="http://www.actiprosoftware.com/Products/DotNet/WPF/Ribbon/Default.aspx">here</a>.<br /><br />
 <br /><u>XCeed WPF DataGrid<br /></u>I found this control via a banner on Scott Hanselman's site... These guys simply
give away FOR FREE the entire control, which is a fully featured WPF datagrid. It's risky
to say but I think this replaces the missing datagrid in WPF.
</p>
        <p align="center">
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf3%5B1%5D.jpg" atomicselection="true">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="101" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf3.jpg" width="240" border="0" />
          </a> 
</p>
        <p align="left">
When you register, the license is royalty free and perpetual. So, no excuse for not
having this control in your toolbox.<br /><a href="http://xceed.com/Grid_WPF_Demo.html">Here</a> you can check out some demo's
and <a href="http://xceed.com/Grid_WPF_Intro.html">get the control</a>.<br /><br /><strong>Tools<br /><br /></strong><u>XamlPad<br /></u>XamlPad (xamlpad.exe) is a basic visual editor for XAML. If you installed the
SDK, it's probably already on your PC, since it's part of the default install.<br />
XamlPad is quite basic, and some say not the most user friendly. Therefore, I recommend
using one of the two following tools in this list for basic XAML.<br /><br /><u>XamlPadX<br /></u>XamlPadX(Extended) is a somehow extended version of XamlPad and has some handy
features. Some of its most important features (from the site):<br /></p>
        <ul>
          <li>
A xaml writer which parses the object back into xaml and vice versa. 
</li>
          <li>
Simple command interpreter with limited intellisense (please look at help window
for limitations). 
</li>
          <li>
Viewer of default styles 
</li>
          <li>
Automatically closing of tags 
</li>
          <li>
Line-numbering 
</li>
          <li>
Possibility to save in different locations 
</li>
          <li>
Indentation feature (!)</li>
        </ul>
        <p>
You can download the lastest version <a href="http://msdn.technetweb3.orcsweb.com/llobo/archive/2006/12/30/xamlpadx-v2.aspx">here.</a></p>
        <p>
 
</p>
        <p>
          <u>Kazaml<br /></u>
          <u>
            <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/kaxaml_thumb6%5B6%5D.png" atomicselection="true">
              <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/kaxaml_thumb6_thumb%5B4%5D.png" align="right" border="0" />
            </a>
          </u>Another
editor, which is now in alpha 2 phase, and is thus not yet complete. You can download
it <a href="http://www.notstatic.com/kaxaml/Kaxaml_0.2.msi">here</a> and more
info can be found <a href="http://notstatic.com/archives/64">here</a>.
</p>
        <p>
          <br />
          <br />
 
</p>
        <p align="left">
 
</p>
        <p align="left">
 
</p>
        <p align="left">
          <u>Adobe Fireworks XAML exporter<br /></u>This free extension from Infragistics makes it possible to convert anything that's
currently selected to XAML. You can download it <a href="http://www.infragistics.com/design/">here</a>.<br /><br /><u>Performance Profiling tools 
<br /></u>WPFPerf is a set of tools that can help you find performance issues in WPF. It
included Perforator, Event Trace, Trace Viewer, Visual Profiler and Working Set Analyzer.
There's a very in-depth article on MSDN that you can read <a href="http://msdn2.microsoft.com/en-us/library/aa969767.aspx">here</a>. 
<br /><br /><u>LocBAML<br /></u>LocBAML is actually a sample included in the SDK. After you compile your XAML
into an assembly, it can extract the strings and place them into a *.csv file. This
file can then be translated, and the file can then be given again to LocBAML, which
will create culture-specific resource DLLs. Handy for when you're translating your
WPF application.<br /><br /><u>Reflector<br /></u>Since Reflector updated to version 5, it supports the .net 3.0 framework, and
thus WPF files can be extracted from assemblies.<br /><br /><br />
I hope you find in this list some tools that can help you explore the world of WPF. 
<br /><br /><strong>If you know another tool not listed here, or if you have developed a control/tool
you'd like to see in this list, please leave a comment or send me a mail.</strong></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=67098180-5b7b-4bdf-84cd-af103f267ebb" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF/XAML tools list - April 2007</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,67098180-5b7b-4bdf-84cd-af103f267ebb.aspx</guid>
      <link>http://www.snowball.be/2007/04/12/WPFXAML+Tools+List+April+2007.aspx</link>
      <pubDate>Thu, 12 Apr 2007 21:49:41 GMT</pubDate>
      <description>&lt;p&gt;
As WPF is becoming more and more used, the list of available tools and controls is
growing fast.&lt;br&gt;
&lt;br&gt;
Therefore, it seemed a good idea to list all the tools that I use or know but don't
use yet, and share that list with you!
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Professional tools&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;Visual Studio 2005&lt;br&gt;
&lt;/u&gt;There's no doubt that Visual Studio 2005 is the best environment for developing
WPF applications. So, if you have access to it (via MSDN for example), I certainly
recommend using it.&lt;br&gt;
However, out of the box, it has no knowledge of WPF projects, so you'll have to install
some additional software.&lt;br&gt;
First, you should install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c2b1e300-f358-4523-b479-f53d234cdccf&amp;amp;displaylang=en"&gt;Windows
SDK&lt;/a&gt; (free), then you should add the &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 3.0 framework&lt;/a&gt; (they also include templates for
WCF). These extensions install the templates for development of WPF projects, and
also add Intellisense for XAML code (on a sidenote, when writing XAML code, the Intellisense
is not always correct in flagging errors, due to the fact that the extensions are
still in CTP phase!)
&lt;/p&gt;
&lt;p align=center&gt;
&amp;nbsp;&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf1%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=127 src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf1.jpg" width=240 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
Also, you now get a designer for WPF applications, which is code-named Cider. The
complete version will be included in the Orcas release.&lt;br&gt;
&lt;br&gt;
&lt;u&gt;Visual Studio Orcas&lt;br&gt;
&lt;/u&gt;There's life after Visual Studio 2005! And it is known as Orcas. Visual Studio
Orcas, the successor of 2005, will probably be released in Q4 2007, but you can download
the CTP since a few months.&lt;br&gt;
Just recently, the March 2007 CTP was released, which is considered a milestone on
the road to the complete product. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf2%5B6%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 5px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=48 src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf2_thumb%5B4%5D.jpg" width=240 align=left border=0&gt;&lt;/a&gt;
&lt;br&gt;
So, what will Orcas bring to the world of WPF? It will include full support for designing
WPF windows and web applications, with the completed version of Cider.&lt;br&gt;
For now, it's possible to start using Orcas. You can download the CTP &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=281FCB3D-5E79-4126-B4C0-8DB6332DE26E&amp;amp;displaylang=en"&gt;here&lt;/a&gt; (large
download, beware!)&lt;br&gt;
&lt;br&gt;
&lt;u&gt;Expression Suite&lt;br&gt;
&lt;/u&gt;The Expression suite is a range of new products from Microsoft. The collection
includes Blend, Web, Design and Media. Web is more or less the (very much improved)
successor of FrontPage.&lt;br&gt;
&lt;br&gt;
Blend is the tool that is the most interesting for WPF developers/designers. It allows
you to open a WPF project, design it in a very advanced environment using a wide range
of tools (much like Photoshop, but for designing user interfaces). After you're finished,
you can open the project in Visual Studio again. 
&lt;br&gt;
At this time, Blend is in RC, but since it's a &lt;a href="http://www.microsoft.com/products/expression/en/Expression-Blend/try.mspx"&gt;public
download&lt;/a&gt;, you can start using it right now. I hope I'll find some time to do a
tutorial on Blend soon. 
&lt;br&gt;
&lt;br&gt;
Design,&amp;nbsp;a professional illustration and graphic design tool, is still in beta
2, but also available for &lt;a href="http://www.microsoft.com/products/expression/en/expression-design/free-trial.mspx"&gt;download&lt;/a&gt; already.
Design fully supports export to XAML, which makes it easy to incorporate your graphics
with your other XAML code.&lt;br&gt;
On a sidenote, Web has been released and you can download&amp;nbsp;a trial&amp;nbsp;&lt;a href="http://www.microsoft.com/products/expression/en/expression-design/free-trial.mspx"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Controls&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;Infragistics NetAdvantage 2007 for WPF&lt;br&gt;
&lt;/u&gt;Infragistics recently released Beta 1 of their first WPF controls. The suite,
which can be downloaded &lt;a href="http://www.infragistics.com/hot/wpf.aspx#NetAdvantageforWPFBeta"&gt;here&lt;/a&gt; for
free, includes the xamDataGrid and xamDataPresenter controls (pronounced "zamDataGrid"
and "zamDataPresente&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/CarouselView_Users12.png" atomicselection="true"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 5px 5px 10px 0px; BORDER-RIGHT-WIDTH: 0px" height=127 src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/CarouselView_Users1_thumb.png" width=240 align=left border=0&gt;&lt;/a&gt;r"). 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Some controls, like the xamCarouselListBox seem very promising and seem to make it
very easy to add advanced features to your applications.&lt;br&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;ActiPro Ribbon&lt;br&gt;
&lt;/u&gt;Last week, I got a mail from ActiPro, to introduce me to their ActiPro Ribbon.
The control &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/Ribbon%5B1%5D.gif" atomicselection="true"&gt;&lt;img style="MARGIN: 0px 0px 0px 5px" height=105 src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/Ribbon%5B1%5D_thumb.gif" width=240 align=right&gt;&lt;/a&gt;features&amp;nbsp;Office
2007-like user interface for the Windows Presentation Foundation (WPF) and meets all
of the core Microsoft licensing requirements for implementation of a ribbon user interface.
I must say, it looks very nice. You can download a demo &lt;a href="http://www.actiprosoftware.com/Products/DotNet/WPF/Ribbon/Default.aspx"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
&lt;u&gt;XCeed WPF DataGrid&lt;br&gt;
&lt;/u&gt;I found this control via a banner on Scott Hanselman's site... These guys simply
give away FOR FREE the entire control, which is a fully featured WPF datagrid. It's&amp;nbsp;risky
to say but I think this replaces the missing datagrid in WPF.
&lt;/p&gt;
&lt;p align=center&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf3%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=101 src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/wpf3.jpg" width=240 border=0&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p align=left&gt;
When you register, the license is royalty free and perpetual. So, no excuse for not
having this control in your toolbox.&lt;br&gt;
&lt;a href="http://xceed.com/Grid_WPF_Demo.html"&gt;Here&lt;/a&gt; you can check out some demo's
and &lt;a href="http://xceed.com/Grid_WPF_Intro.html"&gt;get the control&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Tools&lt;br&gt;
&lt;br&gt;
&lt;/strong&gt;&lt;u&gt;XamlPad&lt;br&gt;
&lt;/u&gt;XamlPad (xamlpad.exe) is a basic visual editor for XAML. If you installed the
SDK, it's probably already on your PC, since it's part of the default install.&lt;br&gt;
XamlPad is quite basic, and some say not the most user friendly. Therefore, I recommend
using one of the two following tools in this list for basic XAML.&lt;br&gt;
&lt;br&gt;
&lt;u&gt;XamlPadX&lt;br&gt;
&lt;/u&gt;XamlPadX(Extended) is a somehow extended version of XamlPad and has some handy
features. Some of its most important features (from the site):&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
A xaml writer which parses the object back into xaml and vice versa. 
&lt;li&gt;
Simple command interpreter with limited&amp;nbsp;intellisense (please look at help window
for limitations). 
&lt;li&gt;
Viewer of default styles 
&lt;li&gt;
Automatically closing of tags 
&lt;li&gt;
Line-numbering 
&lt;li&gt;
Possibility to save in different locations 
&lt;li&gt;
Indentation feature (!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
You can download the lastest version &lt;a href="http://msdn.technetweb3.orcsweb.com/llobo/archive/2006/12/30/xamlpadx-v2.aspx"&gt;here.&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;Kazaml&lt;br&gt;
&lt;/u&gt;&lt;u&gt;&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/kaxaml_thumb6%5B6%5D.png" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WPFXAMLtoolslistApril2007_14753/kaxaml_thumb6_thumb%5B4%5D.png" align=right border=0&gt;&lt;/a&gt;&lt;/u&gt;Another
editor, which is now in alpha 2 phase, and is thus not yet complete. You can download
it &lt;a href="http://www.notstatic.com/kaxaml/Kaxaml_0.2.msi"&gt;here&lt;/a&gt;&amp;nbsp;and more
info can be found &lt;a href="http://notstatic.com/archives/64"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p align=left&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p align=left&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;u&gt;Adobe Fireworks XAML exporter&lt;br&gt;
&lt;/u&gt;This free extension from Infragistics makes it possible to convert anything that's
currently selected to XAML. You can download it &lt;a href="http://www.infragistics.com/design/"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;u&gt;Performance Profiling tools 
&lt;br&gt;
&lt;/u&gt;WPFPerf is a set of tools that can help you find performance issues in WPF. It
included Perforator, Event Trace, Trace Viewer, Visual Profiler and Working Set Analyzer.
There's a very in-depth article on MSDN that you can read &lt;a href="http://msdn2.microsoft.com/en-us/library/aa969767.aspx"&gt;here&lt;/a&gt;. 
&lt;br&gt;
&lt;br&gt;
&lt;u&gt;LocBAML&lt;br&gt;
&lt;/u&gt;LocBAML is actually a sample included in the SDK. After you compile your XAML
into an assembly, it can extract the strings and place them into a *.csv file. This
file can then be translated, and the file can then be given again to LocBAML, which
will create culture-specific resource DLLs. Handy for when you're translating your
WPF application.&lt;br&gt;
&lt;br&gt;
&lt;u&gt;Reflector&lt;br&gt;
&lt;/u&gt;Since Reflector updated to version 5, it supports the .net 3.0 framework, and
thus WPF files can be extracted from assemblies.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
I hope you find in this list some tools that can help you explore the world of WPF. 
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;If you know another tool not listed here, or if you have developed a control/tool
you'd like to see in this list, please leave a comment or send me a mail.&lt;/strong&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=67098180-5b7b-4bdf-84cd-af103f267ebb" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,67098180-5b7b-4bdf-84cd-af103f267ebb.aspx</comments>
      <category>.net</category>
      <category>.net 3.0</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While I was reading today on WPF, I came across a property that can come in very handy
when designing an interface using a GridView (which is the default when you start
a WPF project in Visual Studio by the way).<br /><br />
When setting the ShowGridLines property on a GridView to True, in design view, the
cells of of grid are highlighted with a blue and yellow dashed line. This line is
of course not useful for production environment, but can come in handy when debugging/designing!<br /><br />
You can see a sample on the image below.
</p>
        <img src="http://www.snowball.be/content/binary/ShowGridLines.JPG" border="0" />
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF: ShowGridLines is a handy property</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf.aspx</guid>
      <link>http://www.snowball.be/2007/04/09/WPF+ShowGridLines+Is+A+Handy+Property.aspx</link>
      <pubDate>Mon, 09 Apr 2007 19:15:55 GMT</pubDate>
      <description>&lt;p&gt;
While I was reading today on WPF, I came across a property that can come in very handy
when designing an interface using a GridView (which is the default when you start
a WPF project in Visual Studio by the way).&lt;br&gt;
&lt;br&gt;
When setting the ShowGridLines property on a GridView to True, in design view, the
cells of of grid are highlighted with a blue and yellow dashed line. This line is
of course not useful for production environment, but can come in handy when debugging/designing!&lt;br&gt;
&lt;br&gt;
You can see a sample on the image below.
&lt;/p&gt;
&lt;img src="http://www.snowball.be/content/binary/ShowGridLines.JPG" border=0&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,0110efc3-3cd3-47ad-8c4e-ee9acd08a2bf.aspx</comments>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=f9894b0b-06e3-4593-b424-a62ec2729770</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,f9894b0b-06e3-4593-b424-a62ec2729770.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,f9894b0b-06e3-4593-b424-a62ec2729770.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=f9894b0b-06e3-4593-b424-a62ec2729770</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Some time ago, we did a .net 3.0 event at Ordina. We did some demo's on WPF and WCF.<br />
However, there was one thing in our demo we couldn't figure out ourselves: how does
the spelling check on a textbox in WPF work in the following code:<br /></p>
        <font color="#0000ff" size="2">
          <p>
&lt;
</p>
        </font>
        <font color="#a31515" size="2">TextBox</font>
        <font color="#0000ff" size="2">
        </font>
        <font color="#ff0000" size="2">Height</font>
        <font color="#0000ff" size="2">=</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">34</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">
        </font>
        <font color="#ff0000" size="2">Margin</font>
        <font color="#0000ff" size="2">=</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">103,0,89,78</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">
        </font>
        <font color="#ff0000" size="2">Name</font>
        <font color="#0000ff" size="2">=</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">textBox1</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">
        </font>
        <font color="#ff0000" size="2">VerticalAlignment</font>
        <font color="#0000ff" size="2">=</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">Bottom</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">
        </font>
        <font color="#ff0000" size="2">AcceptsReturn</font>
        <font color="#0000ff" size="2">=</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">True</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">
        </font>
        <font color="#ff0000" size="2">SpellCheck.IsEnabled</font>
        <font color="#0000ff" size="2">=</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2">True</font>
        <font color="#000000" size="2">"</font>
        <font color="#0000ff" size="2"> &gt;&lt;/</font>
        <font color="#a31515" size="2">TextBox</font>
        <font color="#0000ff" size="2">&gt;</font>
        <p>
          <font color="#0000ff" size="2">
            <font color="#000000">Appearantly, it works using the
dictionary provided by Microsoft Office, and is thus multilingual. So, it's not a
feature of .net 3.0!<br />
On the down side, in the current version, it's not possible to add custom dictionaries.
That might change in a future version.</font>
          </font>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f9894b0b-06e3-4593-b424-a62ec2729770" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF: Where does the spell checking come from?</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,f9894b0b-06e3-4593-b424-a62ec2729770.aspx</guid>
      <link>http://www.snowball.be/2007/04/08/WPF+Where+Does+The+Spell+Checking+Come+From.aspx</link>
      <pubDate>Sun, 08 Apr 2007 12:30:13 GMT</pubDate>
      <description>&lt;p&gt;
Some time ago, we did a .net 3.0 event at Ordina. We did some demo's on WPF and WCF.&lt;br&gt;
However, there was one thing in our demo we couldn't figure out ourselves: how does
the spelling check on a textbox in WPF work in the following code:&lt;br&gt;
&lt;/p&gt;
&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
&amp;lt;
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;TextBox&lt;/font&gt;&lt;font color=#0000ff size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;Height&lt;/font&gt;&lt;font color=#0000ff size=2&gt;=&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt;34&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;Margin&lt;/font&gt;&lt;font color=#0000ff size=2&gt;=&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt;103,0,89,78&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;Name&lt;/font&gt;&lt;font color=#0000ff size=2&gt;=&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt;textBox1&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;VerticalAlignment&lt;/font&gt;&lt;font color=#0000ff size=2&gt;=&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt;Bottom&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;AcceptsReturn&lt;/font&gt;&lt;font color=#0000ff size=2&gt;=&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt;True&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;SpellCheck.IsEnabled&lt;/font&gt;&lt;font color=#0000ff size=2&gt;=&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt;True&lt;/font&gt;&lt;font color=#000000 size=2&gt;"&lt;/font&gt;&lt;font color=#0000ff size=2&gt; &amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a31515 size=2&gt;TextBox&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font color=#0000ff size=2&gt;&lt;font color=#000000&gt;Appearantly, it works using the dictionary
provided by Microsoft Office, and is thus multilingual. So, it's not a feature of
.net 3.0!&lt;br&gt;
On the down side, in the current version, it's not possible to add custom dictionaries.
That might change in a future version.&lt;/font&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f9894b0b-06e3-4593-b424-a62ec2729770" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,f9894b0b-06e3-4593-b424-a62ec2729770.aspx</comments>
      <category>WPF</category>
      <category>XAML</category>
      <category>.net 3.0</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=2695e5d6-9abb-4d0c-88f2-e7ebae9f0054</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,2695e5d6-9abb-4d0c-88f2-e7ebae9f0054.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,2695e5d6-9abb-4d0c-88f2-e7ebae9f0054.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=2695e5d6-9abb-4d0c-88f2-e7ebae9f0054</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As opposed to what was said earlier, Expression Suite will be included in MSDN Premium
subscriptions!! That's simply great news, isn't it?! Somasegar did the announcement
today on his blog, based on the feedback they received.
</p>
        <p>
          <br />
        </p>
        <p align="center">
          <img src="http://www.snowball.be/content/binary/expression.jpg" border="0" />
        </p>
        <p>
          <br />
          <em>Based on this feedback, I am pleased to say that we will be making Expression
Web available starting today to all MSDN Premium subscribers.  We will also make
Expression Blend available to MSDN Premium subscribers shortly after the Expression
Studio release later in Q2 2007.   Expression Blend and Expression Web are
intended to help creative professionals collaborate with developers to create rich
user experiences for the Web, Windows Vista applications and beyond, which means we
need to make sure both tools are readily available to our developer community.</em>
        </p>
        <p>
More <a href="http://blogs.msdn.com/somasegar/archive/2007/04/03/listening-to-your-feedback-expression-and-msdn.aspx">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2695e5d6-9abb-4d0c-88f2-e7ebae9f0054" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Hail to Soma!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,2695e5d6-9abb-4d0c-88f2-e7ebae9f0054.aspx</guid>
      <link>http://www.snowball.be/2007/04/03/Hail+To+Soma.aspx</link>
      <pubDate>Tue, 03 Apr 2007 20:24:53 GMT</pubDate>
      <description>&lt;p&gt;
As opposed to what was said earlier, Expression Suite will be included in MSDN Premium
subscriptions!! That's simply great news, isn't it?!&amp;nbsp;Somasegar did the announcement
today on his blog, based on the feedback they received.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img src="http://www.snowball.be/content/binary/expression.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;em&gt;Based on this feedback, I am pleased to say that we will be making Expression
Web available starting today to all MSDN Premium subscribers.&amp;nbsp; We will also make
Expression Blend available to MSDN Premium subscribers shortly after the Expression
Studio release later in Q2 2007.&amp;nbsp;&amp;nbsp; Expression Blend and Expression Web are
intended to help creative professionals collaborate with developers to create rich
user experiences for the Web, Windows Vista applications and beyond, which means we
need to make sure both tools are readily available to our developer community.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
More &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/04/03/listening-to-your-feedback-expression-and-msdn.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2695e5d6-9abb-4d0c-88f2-e7ebae9f0054" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,2695e5d6-9abb-4d0c-88f2-e7ebae9f0054.aspx</comments>
      <category>WPF</category>
      <category>XAML</category>
      <category>Expression</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=fbf46a51-ccd1-48c4-ae60-f78b95eccc5f</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,fbf46a51-ccd1-48c4-ae60-f78b95eccc5f.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,fbf46a51-ccd1-48c4-ae60-f78b95eccc5f.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=fbf46a51-ccd1-48c4-ae60-f78b95eccc5f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Lately, I've come across some interesting WPF resources and labs. In this post, I'll
share them with you.<br /><br />
If you're into WPF, you probably already saw the North Face demo, one of the applications
that MS used to demonstrate WPF and it's capabilities. You can now read the entire
case study <a href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201147">here</a>.<br /><br />
Over at Channel9, a Wiki was created to gather all resources on WPF. On this page,
you can find a tremendous amount of information and resources when you're learning
WPF. Go <a href="http://channel9.msdn.com/wiki/default.aspx/WPF.LearningWPF">here</a> for
the Wiki.<br /><br />
Karsten Januszewski posted a new lab on WPF 3D <a href="http://wpf.netfx3.com/files/folders/labs/entry9680.aspx">here</a>.<br /><br />
Hope this helps you more in learning WPF!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=fbf46a51-ccd1-48c4-ae60-f78b95eccc5f" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>New WPF resources</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,fbf46a51-ccd1-48c4-ae60-f78b95eccc5f.aspx</guid>
      <link>http://www.snowball.be/2007/03/30/New+WPF+Resources.aspx</link>
      <pubDate>Fri, 30 Mar 2007 22:55:05 GMT</pubDate>
      <description>&lt;p&gt;
Lately, I've come across some interesting WPF resources and labs. In this post, I'll
share them with you.&lt;br&gt;
&lt;br&gt;
If you're into WPF, you probably already saw the North Face demo, one of the applications
that MS used to demonstrate WPF and it's capabilities. You can now read the entire
case study &lt;a href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201147"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Over at Channel9, a Wiki was created to gather all resources on WPF. On this page,
you can find a tremendous amount of information and resources when you're learning
WPF. Go &lt;a href="http://channel9.msdn.com/wiki/default.aspx/WPF.LearningWPF"&gt;here&lt;/a&gt; for
the Wiki.&lt;br&gt;
&lt;br&gt;
Karsten Januszewski posted a new lab on WPF 3D &lt;a href="http://wpf.netfx3.com/files/folders/labs/entry9680.aspx"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Hope this helps you more in learning WPF!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=fbf46a51-ccd1-48c4-ae60-f78b95eccc5f" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,fbf46a51-ccd1-48c4-ae60-f78b95eccc5f.aspx</comments>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=dc63651c-a9f9-43bd-8313-f507903a5131</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,dc63651c-a9f9-43bd-8313-f507903a5131.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,dc63651c-a9f9-43bd-8313-f507903a5131.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=dc63651c-a9f9-43bd-8313-f507903a5131</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday, at the Microsoft DevDays 2007 in Gent, Belgium, I talked with Jeff Prosise
on the future of WPF/E. He was not able to give away much details of the platform,
since a lot will be announced at the Mix 07 convention in Las Vegas next month.<br />
What he did say, was that Microsoft will almost certainly announce a new name for
the platform!<br /><br />
Why don't we help Microsoft a little?! Have a good idea on the name of this possible
Flash killer? Post them here, and maybe somebody at Microsoft will pick it up...<br /><br /></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=dc63651c-a9f9-43bd-8313-f507903a5131" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Let's find a new name for WPF/E</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,dc63651c-a9f9-43bd-8313-f507903a5131.aspx</guid>
      <link>http://www.snowball.be/2007/03/30/Lets+Find+A+New+Name+For+WPFE.aspx</link>
      <pubDate>Fri, 30 Mar 2007 13:13:20 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday, at the Microsoft DevDays 2007 in Gent, Belgium, I talked with Jeff Prosise
on the future of WPF/E. He was not able to give away much details of the platform,
since a lot will be announced at the Mix 07 convention in Las Vegas next month.&lt;br&gt;
What he did say, was that Microsoft will almost certainly announce a new name for
the platform!&lt;br&gt;
&lt;br&gt;
Why don't we help Microsoft a little?! Have a good idea on the name of this possible
Flash killer? Post them here, and maybe somebody at Microsoft will pick it up...&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=dc63651c-a9f9-43bd-8313-f507903a5131" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,dc63651c-a9f9-43bd-8313-f507903a5131.aspx</comments>
      <category>Microsoft</category>
      <category>WPF</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=eeb58571-8855-44c0-a2fc-3c7f50445364</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,eeb58571-8855-44c0-a2fc-3c7f50445364.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,eeb58571-8855-44c0-a2fc-3c7f50445364.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=eeb58571-8855-44c0-a2fc-3c7f50445364</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <br />
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439014738_6d8859b9af_m%5B2%5D%5B2%5D.jpg" atomicselection="true">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439014738_6d8859b9af_m%5B2%5D_thumb.jpg" align="left" border="0" />
          </a>
          <br />
          <br />
I just got home of DevDays 2007 (and now already I'm typing a report...), and man,
it was a fun ride! If you weren't there, you did miss out on  great sessions
and great fun (and great little pies... still don't know what was in them, but
they tasted great). In my DevDays report, I want to highlight some of my personal
'fav-moments', some nice little tools I learned about and show some of my pics I took
(maybe you're on them somewhere...).<br /><br />
(I wasn't at the pre-conference, so no report on March 27th...)<br /></p>
        <p>
 
</p>
        <p>
          <br />
          <strong>Day 1<br /></strong>6.00 am. Very early... Must get up to avoid traffic jams. 
<br />
7.30 am. Breakfast at ICC Gent, avoided all traffic jams (jeej). 
<br /><br />
The day began like usual with an opening keynote, given this year by David Chappell.
He went over what he thought would be the most important Microsoft-related innovations
for 2007. These included the .net 3.0 framework, Forefront, Security Center and Longhorn
Server. 
<br /><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010505_3772ed6d56_m%5B1%5D%5B2%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010505_3772ed6d56_m%5B1%5D_thumb.jpg" align="left" border="0" /></a>  <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013480_db4deacd3f_m%5B1%5D%5B2%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013480_db4deacd3f_m%5B1%5D_thumb.jpg" align="right" border="0" /></a><br />
After that, I went to the Blend demo, given by Carrie Longson. She showed some XAML
effects created easily using Expression Blend. After that, she showed some impressive
applications created with WPF. One of these was an application created by Microsoft
UK for the Londen Underground (the tube). It was able to give an overview of the trains,
where they were, all rendered in real time. It was even possible to rotate the viewport,
completely in 3D. The application, while very impressive, took only 3 weeks to create
with WPF.<br /><br />
Jeff Prosise is the speaker I saw the most sessions of (you'll find him again later
in this article). The first one on Asynchronous ASP.net was impressive. He showed
how to (and how not to) program threaded ASP.net. Doing this correctly can create
a vast scalability for your web application. I hope to find some time to blog
on some of his thoughts on this subject (hold your breath).<br /><br />
Up next was the first of 2 sessions of Raj Pai. This first one on Linq (.net Language
Intergrated Query framework) explained in depth the possibilities of this extension
of C# that will be included in C# 3.0. While the syntax on some moments still feels
weird (it's odd to see Select and From in your C# code sometimes, even if you've been
playing with it for some time), the session was very clear.<br /><br />
Like I said, Jeff Prosise would come back in this article. The next session I attended,
Optimizing and Extending ASP.net Ajax, was very helpful for me. I've doing quite a
lot of Ajax in the last months, but 1 thing I didn't use a lot yet, is the Ajax Client
Script Library (the javascript). This library is not documented very well at this
moment, so it's sometimes hard to figure out what you can do with it, and even harder
how to do it. Luckily, this <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010021_6e9ecc5538_m%5B1%5D%5B2%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010021_6e9ecc5538_m%5B1%5D_thumb.jpg" align="left" border="0" /></a> session
cleared some clouds in my brain, so I think I'm on my way with it now!<br /><br />
The last session of the day, Hardcore debugging of .net applications given by "Mr
Type Fast" Ingo Rammer was easily the one where I learned the most. I didn't know
what to expect from it, but the demo's of this session literally blew me away.<br />
He started by showing how to use <a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx" target="_blank">WinDbg</a> (WinDebug).
While this is not a .net debugger, it can be used (loading in some DLLs) to debug
running (production) .net applications. I actually never knew this was possible. This
program is not the most user friendly, but it can be a real time saver. It does however
use a lot of commands, and so I hope this session will certainly be included with
the DVD.<br />
He went on showing some other interesting tools. <a href="http://support.microsoft.com/kb/286350" target="_blank">ADPlus</a> is
another tool (command line) that can be used to create a memory dump on any PC, that
can afterwards be analyzed using WinDbg. Using these 2 can give you insight on why
an application crashes or hangs.<br />
The last shown tool was <a href="http://www.acorns.com.au/hawkeye/" target="_blank">HawkEye</a>.
The free version can be used to inspect any .net forms application: you can see all
properties of any control (name, color...) on a forms application. 
<br /><br />
After that, Visug, the Belgian Visug Studio User Group (of which I'm the webmaster),
organised a bowling in Gent. We started playing at 9 pm, but due to a blackout in
a large part of Gent, we were forced to stop playing around 10 pm.<br /><br />
1 am: in bed ;-)<br /><br /><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015134_1cee8fcce5_m%5B1%5D%5B1%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015134_1cee8fcce5_m%5B1%5D.jpg" border="0" /></a>  <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015314_86caa6e840_m%5B1%5D%5B1%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015314_86caa6e840_m%5B1%5D.jpg" border="0" /></a>  <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011563_b7adb4ddc1_m%5B1%5D%5B1%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011563_b7adb4ddc1_m%5B1%5D.jpg" border="0" /></a>  <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D%5B1%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D.jpg" border="0" /></a> <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D%5B3%5D.jpg" atomicselection="true"></a><br /><br /><strong>Day 2<br /></strong><br />
6.00 am... you know the story...
</p>
        <p>
The day started with the second session of Raj Pai, that closely intergrated with
the session of day 1. In this session, he explained the new features of C# 3.0 (of
which I'll be blogging in the coming weeks): extension methods, automatic properties,
how LINQ works internally... 
<br /><br />
I was lucky enough to be able to attend 2 "sidemeetings" with 2 speakers, namely Raj
Pai and Jeff Prosise. 
<br />
At 11am, I met in person with Raj on the top floor, and together with some collegues
of Ordina, we got to ask him questions on LINQ and C# 3.0 . 
<br />
He explained in detail what went on behind the scenes when you run a LINQ statement.
Seeing this more or less eased me! On my question on how you could debug a LINQ statement,
he advised me to break the statement into pieces, and add a ToList() to each part.
That way, you can easily see what each part of the statement actually returns.<br /><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D%5B6%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D_thumb.jpg" align="left" border="0" /></a><br />
Another question we asked was the following: how do you see LINQ in a DAL? Sadly,
on this topic, they're actually still working themselves, and he promised that some
white papers will be available soon.<br /><br />
I also asked his vision on the "over-use" of extension methods in C# 3.0. Using these
methods, you can for example write your own System.String.In() method. Personally,
I think this will make code review very hard. Raj agreed with me, and said there will
be some patterns and practices available later on when to use these methods.<br /><br />
Due to this private session, I was unable to attend the session given by my collegue
Kurt Claeys. I did hear nothing but positive comments afterwards, so Kurt: congrats!<br /><br />
The next session I attended was again one given by Jeff Prosise, this time on WPF/E. 
<br />
This session was closely followed by my second private session, this time with Jeff.
During this session, we talked on the future of the 3 web technologies Microsoft is
currently using/developing: ASP.net 2.0, WPF/E and ASP.net Ajax. He thinks that all
these will intergrate more in the future, certainly WPF/E and ASP.net Ajax.<br /><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010095_410c8b1afb_m%5B1%5D%5B2%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010095_410c8b1afb_m%5B1%5D_thumb.jpg" align="right" border="0" /></a><br />
He said that what we have seen so far of WPF/E is only a fraction of what it
will really become. He believes that on some aspects, the final version will be better
that it's competitor, Adobe Flash. He seemed very excited on some features that will
be announced at Mix '07, including the final name. This session was not only fun,
it gave a great insight in what web technology is evolving too.<br /><br />
In the last session of the day, Ingo Rammer explained some more of on profiling .net
applications using CLR profiler and SQL profiler.<br /><br />
After this session, I went home, tired, but happy!<br />
Great job guys!<br /><br /><strong>The Ordina booth<br /></strong>My company Ordina was Platinum Sponsor of this event, and so we had a very
large booth. On the following pics, you can see more of this.<br /><br /><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013696_176941e1aa_m%5B1%5D%5B1%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013696_176941e1aa_m%5B1%5D.jpg" border="0" /></a>  <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010443_d6fd922e2b_m%5B1%5D%5B1%5D.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010443_d6fd922e2b_m%5B1%5D.jpg" border="0" /></a><br /><br />
All my DevDays 2007 pics can be found here: <a title="http://www.flickr.com/photos/gillcleeren/sets/72157600035030532/" href="http://www.flickr.com/photos/gillcleeren/sets/72157600035030532/">http://www.flickr.com/photos/gillcleeren/sets/72157600035030532/</a><br /><br /><strong>What I brought home...<br /></strong>Het Computerwinkeltje, Belgium's largest computer book store, was also here,
and they organised some book signing sessions. I just bought the new book on Powershell,
Manning's Windows Powershell In Action , writte by Bruce Payette. I got my copy
signed! 
<br /><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/payette_cover150%5B1%5D%5B2%5D.jpg" atomicselection="true"></a><br />
I also brought home the new book from Apress on LINQ.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=eeb58571-8855-44c0-a2fc-3c7f50445364" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>DevDays 2007: the final verdict</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,eeb58571-8855-44c0-a2fc-3c7f50445364.aspx</guid>
      <link>http://www.snowball.be/2007/03/29/DevDays+2007+The+Final+Verdict.aspx</link>
      <pubDate>Thu, 29 Mar 2007 20:47:47 GMT</pubDate>
      <description>&lt;p&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439014738_6d8859b9af_m%5B2%5D%5B2%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439014738_6d8859b9af_m%5B2%5D_thumb.jpg" align=left border=0&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
I just got home of DevDays 2007 (and now already I'm typing a report...), and man,
it was a fun ride! If you weren't there, you did miss out on&amp;nbsp; great sessions
and&amp;nbsp;great fun (and great little pies... still don't know what was in them, but
they tasted great). In my DevDays report, I want to highlight some of my personal
'fav-moments', some nice little tools I learned about and show some of my pics I took
(maybe you're on them somewhere...).&lt;br&gt;
&lt;br&gt;
(I wasn't at the pre-conference, so no report on March 27th...)&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;strong&gt;Day 1&lt;br&gt;
&lt;/strong&gt;6.00 am. Very early... Must get up to avoid traffic jams. 
&lt;br&gt;
7.30 am. Breakfast at ICC Gent, avoided all traffic jams (jeej). 
&lt;br&gt;
&lt;br&gt;
The day began like usual with an opening keynote, given this year by David Chappell.
He went over what he thought would be the most important Microsoft-related innovations
for 2007. These included the .net 3.0 framework, Forefront, Security Center and Longhorn
Server. 
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010505_3772ed6d56_m%5B1%5D%5B2%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010505_3772ed6d56_m%5B1%5D_thumb.jpg" align=left border=0&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013480_db4deacd3f_m%5B1%5D%5B2%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013480_db4deacd3f_m%5B1%5D_thumb.jpg" align=right border=0&gt;&lt;/a&gt; 
&lt;br&gt;
After that, I went to the Blend demo, given by Carrie Longson. She showed some XAML
effects created easily using Expression Blend. After that, she showed some impressive
applications created with WPF. One of these was an application created by Microsoft
UK for the Londen Underground (the tube). It was able to give an overview of the trains,
where they were, all rendered in real time. It was even possible to rotate the viewport,
completely in 3D. The application, while very impressive, took only 3 weeks to create
with WPF.&lt;br&gt;
&lt;br&gt;
Jeff Prosise is the speaker I saw the most sessions of (you'll find him again later
in this article). The first one on Asynchronous ASP.net was impressive. He showed
how to (and how not to) program threaded ASP.net. Doing this correctly can create
a vast scalability for your web application.&amp;nbsp;I hope to find some time to blog
on some of his thoughts on this subject (hold your breath).&lt;br&gt;
&lt;br&gt;
Up next was the first of 2 sessions of Raj Pai. This first one on Linq (.net Language
Intergrated Query framework) explained in depth the possibilities of this extension
of C# that will be included in C# 3.0. While the syntax on some moments still feels
weird (it's odd to see Select and From in your C# code sometimes, even if you've been
playing with it for some time), the session was very clear.&lt;br&gt;
&lt;br&gt;
Like I said, Jeff Prosise would come back in this article. The next session I attended,
Optimizing and Extending ASP.net Ajax, was very helpful for me. I've doing quite a
lot of Ajax in the last months, but 1 thing I didn't use a lot yet, is the Ajax Client
Script Library (the javascript). This library is not documented very well at this
moment, so it's sometimes hard to figure out what you can do with it, and even harder
how to do it. Luckily, this &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010021_6e9ecc5538_m%5B1%5D%5B2%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010021_6e9ecc5538_m%5B1%5D_thumb.jpg" align=left border=0&gt;&lt;/a&gt; session
cleared some clouds in my brain, so I think I'm on my way with it now!&lt;br&gt;
&lt;br&gt;
The last session of the day, Hardcore debugging of .net applications given by "Mr
Type Fast" Ingo Rammer was easily the one where I learned the most. I didn't know
what to expect from it, but the demo's of this session literally blew me away.&lt;br&gt;
He started by showing how to use &lt;a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx" target=_blank&gt;WinDbg&lt;/a&gt; (WinDebug).
While this is not a .net debugger, it can be used (loading in some DLLs) to debug
running (production) .net applications. I actually never knew this was possible.&amp;nbsp;This
program is not the most user friendly, but it can be a real time saver. It does however
use a lot of commands, and so I hope this session will certainly be included with
the DVD.&lt;br&gt;
He went on showing some other interesting tools. &lt;a href="http://support.microsoft.com/kb/286350" target=_blank&gt;ADPlus&lt;/a&gt; is
another tool (command line) that can be used to create a memory dump on any PC, that
can afterwards be analyzed using WinDbg. Using these 2 can give you insight on why
an application crashes or hangs.&lt;br&gt;
The last shown tool was &lt;a href="http://www.acorns.com.au/hawkeye/" target=_blank&gt;HawkEye&lt;/a&gt;.
The free version can be used to inspect any .net forms application: you can see all
properties of any control (name, color...) on a forms application. 
&lt;br&gt;
&lt;br&gt;
After that, Visug, the Belgian Visug Studio User Group&amp;nbsp;(of which I'm the webmaster),
organised a bowling in Gent. We started playing at 9 pm, but due to a blackout in
a large part of Gent, we were forced to stop playing around 10 pm.&lt;br&gt;
&lt;br&gt;
1 am: in bed ;-)&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015134_1cee8fcce5_m%5B1%5D%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015134_1cee8fcce5_m%5B1%5D.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015314_86caa6e840_m%5B1%5D%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439015314_86caa6e840_m%5B1%5D.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011563_b7adb4ddc1_m%5B1%5D%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011563_b7adb4ddc1_m%5B1%5D.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D%5B3%5D.jpg" atomicselection="true"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Day 2&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
6.00 am... you know the story...
&lt;/p&gt;
&lt;p&gt;
The day started with the second session of Raj Pai, that closely intergrated with
the session of day 1. In this session, he explained the new features of C# 3.0 (of
which I'll be blogging in the coming weeks): extension methods, automatic properties,
how LINQ works internally... 
&lt;br&gt;
&lt;br&gt;
I was lucky enough to be able to attend 2 "sidemeetings" with 2 speakers, namely Raj
Pai and Jeff Prosise. 
&lt;br&gt;
At 11am, I met in person with Raj on the top floor, and together with some collegues
of Ordina, we got to ask him questions on LINQ and C# 3.0 . 
&lt;br&gt;
He explained in detail what went on behind the scenes when you run a LINQ statement.
Seeing this more or less eased me! On my question on how you could debug a LINQ statement,
he advised me to break the statement into pieces, and add a ToList() to each part.
That way, you can easily see what each part of the statement actually returns.&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D%5B6%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439011367_a057603c44_m%5B1%5D_thumb.jpg" align=left border=0&gt;&lt;/a&gt; 
&lt;br&gt;
Another question we asked was the following: how do you see LINQ in a DAL? Sadly,
on this topic, they're actually still working themselves, and he promised that some
white papers will be available soon.&lt;br&gt;
&lt;br&gt;
I also asked his vision on the "over-use" of extension methods in C# 3.0. Using these
methods, you can for example write your own System.String.In() method. Personally,
I think this will make code review very hard. Raj agreed with me, and said there will
be some patterns and practices available later on when to use these methods.&lt;br&gt;
&lt;br&gt;
Due to this private session, I was unable to attend the session given by my collegue
Kurt Claeys. I did hear nothing but positive comments afterwards, so Kurt: congrats!&lt;br&gt;
&lt;br&gt;
The next session I attended was again one given by Jeff Prosise, this time on WPF/E. 
&lt;br&gt;
This session was closely followed by my second private session, this time with Jeff.
During this session, we talked on the future of the 3 web technologies Microsoft is
currently using/developing: ASP.net 2.0, WPF/E and ASP.net Ajax. He thinks that all
these will intergrate more in the future, certainly WPF/E and ASP.net Ajax.&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010095_410c8b1afb_m%5B1%5D%5B2%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010095_410c8b1afb_m%5B1%5D_thumb.jpg" align=right border=0&gt;&lt;/a&gt; 
&lt;br&gt;
He said that what we have seen so far&amp;nbsp;of WPF/E is only a fraction of what it
will really become. He believes that on some aspects, the final version will be better
that it's competitor, Adobe Flash. He seemed very excited on some features that will
be announced at Mix '07, including the final name. This session was not only fun,
it gave a great insight in what web technology is evolving too.&lt;br&gt;
&lt;br&gt;
In the last session of the day, Ingo Rammer explained some more of on profiling .net
applications using CLR profiler and SQL profiler.&lt;br&gt;
&lt;br&gt;
After this session, I went home, tired, but happy!&lt;br&gt;
Great job guys!&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;The Ordina booth&lt;br&gt;
&lt;/strong&gt;My company Ordina was Platinum Sponsor of this event, and so we had a very
large booth. On the following pics, you can see more of this.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013696_176941e1aa_m%5B1%5D%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439013696_176941e1aa_m%5B1%5D.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010443_d6fd922e2b_m%5B1%5D%5B1%5D.jpg" atomicselection="true"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/439010443_d6fd922e2b_m%5B1%5D.jpg" border=0&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
All my DevDays 2007 pics can be found here: &lt;a title=http://www.flickr.com/photos/gillcleeren/sets/72157600035030532/ href="http://www.flickr.com/photos/gillcleeren/sets/72157600035030532/"&gt;http://www.flickr.com/photos/gillcleeren/sets/72157600035030532/&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;What I brought home...&lt;br&gt;
&lt;/strong&gt;Het Computerwinkeltje, Belgium's largest computer book store, was also here,
and they organised some book signing sessions. I just bought the new book on Powershell,
Manning's Windows&amp;nbsp;Powershell In Action , writte by Bruce Payette. I got my copy
signed! 
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/DevDays2007thefinalverdict_12A3F/payette_cover150%5B1%5D%5B2%5D.jpg" atomicselection="true"&gt;&lt;/a&gt;
&lt;br&gt;
I also brought home the new book from Apress on LINQ.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=eeb58571-8855-44c0-a2fc-3c7f50445364" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,eeb58571-8855-44c0-a2fc-3c7f50445364.aspx</comments>
      <category>ASP.net</category>
      <category>C#</category>
      <category>Microsoft</category>
      <category>Visug</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=fe3981a0-5115-4bb8-88dc-f16abe9ab775</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,fe3981a0-5115-4bb8-88dc-f16abe9ab775.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,fe3981a0-5115-4bb8-88dc-f16abe9ab775.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=fe3981a0-5115-4bb8-88dc-f16abe9ab775</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <title>All you need to know to get the most out of Reflector 5</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,fe3981a0-5115-4bb8-88dc-f16abe9ab775.aspx</guid>
      <link>http://www.snowball.be/2007/03/25/All+You+Need+To+Know+To+Get+The+Most+Out+Of+Reflector+5.aspx</link>
      <pubDate>Sun, 25 Mar 2007 13:48:54 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Last year, I had the opportunity to have a
lunch meeting&amp;nbsp;with Lutz Roeder. I was able to talk with him about life at Microsoft
in Redmond, the creation of the Expression suite, and of course, Reflector, the very
popular .net class browser, used by every .net programmer that respects himself!&lt;br&gt;
Since a few weeks, the new version of this popular program was released, version 5
that is.&lt;br&gt;
In this article, I’ll discuss some of the new functions and also some of the lesser
known functions that were already in previous versions, so you can get the most out
of this magnificent tool.&lt;br style="mso-special-character: line-break"&gt;
&lt;br style="mso-special-character: line-break"&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;Obtaining
the newest version&lt;/b&gt;
&lt;br&gt;
First, if you haven’t done already, download Reflector here: &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.aisto.com/roeder/dotnet"&gt;&lt;font face=Calibri size=3&gt;http://www.aisto.com/roeder/dotnet&lt;/font&gt;&lt;/a&gt;&lt;font face=Calibri color=#000000 size=3&gt; or
if you have an old version installed, you can have it auto-update via the Help menu.
There are a great number of extensions available. These are put together on a codeplex
site that can be found here: &lt;/font&gt;&lt;a href="http://www.codeplex.com/reflectoraddins"&gt;&lt;font face=Calibri size=3&gt;http://www.codeplex.com/reflectoraddins&lt;/font&gt;&lt;/a&gt;&lt;font face=Calibri color=#000000 size=3&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;Getting
started with version 5&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;One of the very handy new functions is the
possibility to register Reflector with Explorer. This way, Reflector will become the
default option for your DLL files.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;
&lt;br&gt;
&lt;img src="http://www.snowball.be/content/binary/112.jpg" border=0&gt;
&lt;br&gt;
&lt;/p&gt;
&gt; 
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Double-clicking on any .net DLL will open
Reflector, and you’ll be able to see the contents of the assembly.&lt;br&gt;
To do this, open a command window, browse to the directory where you have extracted
Reflector and run the following command: Reflector /register .You should now get a
message that registering went OK, as can be seen on the image below.&lt;br&gt;
&lt;/font&gt;&lt;span style="mso-no-proof: yes"&gt;
&lt;/p&gt;
&gt; 
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;img src="http://www.snowball.be/content/binary/21.jpg" border=0&gt;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Assembly
lists&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;If like me, you use Reflector
a lot, perhaps on different projects, the list of assemblies in Reflector can become
very long. On top of that, the memory use is way higher (I noticed that on my PC,
don’t know if this is the case everywhere though) if you have more assemblies loaded
in the browser.&lt;br&gt;
&lt;br&gt;
There is however a feature that can help solve this annoyance: assembly lists. Press
CTRL-L or File &lt;/font&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt; Open
List to open the Assembly List Management dialog.&lt;br&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;img src="http://www.snowball.be/content/binary/3.JPG" border=0&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;br&gt;
&lt;font face=Calibri color=#000000 size=3&gt;As you can see, I have a number of lists in
my window. Each of these corresponds to a list of DLLs that will be displayed in the
browser when loaded.&lt;br&gt;
You can create a new list, which is blank by default. In the browser, you can then
load assemblies that will only be displayed when that particular list is selected. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Code
URL&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Something completely new in version 5 is the
so-called “Code URL” support. 
&lt;br&gt;
Simply select any item in the browser and press Ctrl-Alt-C. This will copy the code-URI
for that item in the following format (I selected System.Web.HttpCookie): code://System.Web:2.0.0.0:b03f5f7f11d50a3a/System.Web.HttpCookie. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;If you have Reflector installed, clicking
the following link in IE will fire up Reflector and immediately browse to the class/method/assembly
described in the URL. You can test it with the following link: &lt;/font&gt;&lt;a href="code://System.Web:2.0.0.0:b03f5f7f11d50a3a/System.Web.HttpCookie"&gt;&lt;font face=Calibri color=#0000ff size=3&gt;code://System.Web:2.0.0.0:b03f5f7f11d50a3a/System.Web.HttpCookie&lt;/font&gt;&lt;/a&gt;&lt;font face=Calibri color=#000000 size=3&gt;. 
&lt;br&gt;
This feature can also come in handy to pass a link to a colleague, even over MSN!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font face=Calibri color=#000000 size=3&gt;.net
3.5 support&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Even though it is still some months away,
Reflector already offers support for .net 3.5. You can enable it via the Options window.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;span style="mso-no-proof: yes"&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&lt;img src="http://www.snowball.be/content/binary/4.JPG" border=0&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Included in .net 3.5 are C# 3.0 and LINQ.
Reflector now includes full support for both of these.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Also, it now offers support for anonymous
methods and nullable types.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;The
new assembly browser&lt;br&gt;
&lt;/b&gt;The most important part of Reflector is of course the assembly browser itself.
While it was already fast, it didn’t include the possibility to open multiple windows
at the same time. That limitation is now gone! For example, you can open the Analyzer
and the Disassembler at the same time. 
&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;img style="WIDTH: 617px; HEIGHT: 297px" height=410 src="http://www.snowball.be/content/binary/5.JPG" width=887 border=0&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Disassembler
and Analyzer&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Both the Disassembler and the Analyzer got
some new functions in this new release.&lt;br&gt;
The Disassembler now has a “Expand Methods” function, that, like the name says, will
expand all functions right in the same window. 
&lt;br&gt;
&lt;/font&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&lt;img src="http://www.snowball.be/content/binary/6.JPG" border=0&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;The result:&lt;span style="mso-spacerun: yes"&gt;&lt;font face=Calibri color=#000000 size=3&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font face=Calibri color=#000000 size=3&gt;&lt;img src="http://www.snowball.be/content/binary/7.JPG" border=0&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;The Analyzer, which you can find by right-clicking
an assembly, also has some new functions: Exposed by, Instantiated by and Assigned
by.&lt;br&gt;
These functions can greatly help you in funding where certain classes are used within
the assembly.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;span style="mso-spacerun: yes"&gt;&lt;font face=Calibri color=#000000 size=3&gt;&lt;img src="http://www.snowball.be/content/binary/8.JPG" border=0&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font face=Calibri color=#000000 size=3&gt;BAML
Disassembling&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;While Reflector is great, the extensions available
for it make it even greater.&lt;br&gt;
Personally, I do a lot of WPF, and it’s very handy to be able to read the XAML code
for things you encounter on the net. For this, we now have the BAML Disassembler.
You can read more on this extension here: &lt;/font&gt;&lt;a href="http://wpfwonderland.wordpress.com/2007/01/27/reflector-and-wpf-baml-disassembler-revisited/"&gt;&lt;font face=Calibri size=3&gt;http://wpfwonderland.wordpress.com/2007/01/27/reflector-and-wpf-baml-disassembler-revisited/&lt;/font&gt;&lt;/a&gt;&lt;font face=Calibri color=#000000 size=3&gt; &lt;/font&gt;
&lt;br&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;
&lt;br style="mso-special-character: line-break"&gt;
&lt;br style="mso-special-character: line-break"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=fe3981a0-5115-4bb8-88dc-f16abe9ab775" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,fe3981a0-5115-4bb8-88dc-f16abe9ab775.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Programming tools</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=9e033177-1f31-4730-b5cb-0f14fa51f00a</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,9e033177-1f31-4730-b5cb-0f14fa51f00a.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,9e033177-1f31-4730-b5cb-0f14fa51f00a.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=9e033177-1f31-4730-b5cb-0f14fa51f00a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As Vista's launch is almost upon us, WPF and with it .net 3.0 are becoming more and
more used.<br />
Just a couple of days ago, Yahoo (still my favorite start page) has announced that
they'll be launching an entirely new version of their web messenger, written in .net
and WPF.
</p>
        <font face="arial" size="2">
          <p>
            <img src="http://thewpfblog.com/images/yahoo1.jpg" />
          </p>
          <p>
          </p>
        </font>
        <br />
You can see it (with all kinds of typical WPF controls) in action here: <a href="http://messenger.yahoo.com/vista">http://messenger.yahoo.com/vista</a>.
<img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9e033177-1f31-4730-b5cb-0f14fa51f00a" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF getting more and more used</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,9e033177-1f31-4730-b5cb-0f14fa51f00a.aspx</guid>
      <link>http://www.snowball.be/2007/01/14/WPF+Getting+More+And+More+Used.aspx</link>
      <pubDate>Sun, 14 Jan 2007 22:18:27 GMT</pubDate>
      <description>&lt;p&gt;
As Vista's launch is almost upon us, WPF and with it .net 3.0 are becoming more and
more used.&lt;br&gt;
Just a couple of days ago, Yahoo (still my favorite start page) has announced that
they'll be launching an entirely new version of their web messenger, written in .net
and WPF.
&lt;/p&gt;
&lt;font face=arial size=2&gt; 
&lt;p&gt;
&lt;img src="http://thewpfblog.com/images/yahoo1.jpg"&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;
&lt;br&gt;
You can see it (with all kinds of typical WPF controls) in action here: &lt;a href="http://messenger.yahoo.com/vista"&gt;http://messenger.yahoo.com/vista&lt;/a&gt;.&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9e033177-1f31-4730-b5cb-0f14fa51f00a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,9e033177-1f31-4730-b5cb-0f14fa51f00a.aspx</comments>
      <category>.net</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=feb423a9-d7f4-4669-84e7-c0841cde0c96</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,feb423a9-d7f4-4669-84e7-c0841cde0c96.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,feb423a9-d7f4-4669-84e7-c0841cde0c96.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=feb423a9-d7f4-4669-84e7-c0841cde0c96</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday was a very busy day over at my company: we did a .net 3.0 event, with sessions
on Windows Presentation Foundation, Windows Communication Foundation and Windows Workflow
Foundation.<br /><br />
In the first session, I did, together with Sven Cipido, a complete live demo, with
no slides... It was an experiment, and, hearing from the attendants afterwards, it
was received very very well :-) . That means that in the future, I'll be doing more
presentations in this way: less slides (or none at all) and a live demonstration.<br /><br />
The second session, done by Kurt Claeys, was also of a very high standard. Kurt also
had too little time to show all his demonstrations.<br /><br />
While we are preparing a post on the corporate blog, <a href="http://blog.n-technologies.be">http://blog.n-technologies.be</a>,
you can already download my demo's below.
</p>
        <a href="http://www.snowball.be/content/binary/WPF.zip">WPF.zip (447.73 KB)</a>
        <br />
        <br />
If you have any questions concerning this event, or the supplied demo's, please feel
free to email me or leave a comment!<br /><br /><img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=feb423a9-d7f4-4669-84e7-c0841cde0c96" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Ordina .net 3.0 event: it was a success!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,feb423a9-d7f4-4669-84e7-c0841cde0c96.aspx</guid>
      <link>http://www.snowball.be/2006/11/25/Ordina+Net+30+Event+It+Was+A+Success.aspx</link>
      <pubDate>Sat, 25 Nov 2006 20:12:31 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday was a very busy day over at my company: we did a .net 3.0 event, with sessions
on Windows Presentation Foundation, Windows Communication Foundation and Windows Workflow
Foundation.&lt;br&gt;
&lt;br&gt;
In the first session, I did, together with Sven Cipido, a complete live demo, with
no slides... It was an experiment, and, hearing from the attendants afterwards, it
was received very very well :-) . That means that in the future, I'll be doing more
presentations in this way: less slides (or none at all) and a live demonstration.&lt;br&gt;
&lt;br&gt;
The second session, done by Kurt Claeys, was also of a very high standard. Kurt also
had too little time to show all his demonstrations.&lt;br&gt;
&lt;br&gt;
While we are preparing&amp;nbsp;a post on the corporate blog, &lt;a href="http://blog.n-technologies.be"&gt;http://blog.n-technologies.be&lt;/a&gt;,
you can already download my demo's below.
&lt;/p&gt;
&lt;a href="http://www.snowball.be/content/binary/WPF.zip"&gt;WPF.zip (447.73 KB)&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
If you have any questions concerning this event, or the supplied demo's, please feel
free to email me or leave a comment!&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=feb423a9-d7f4-4669-84e7-c0841cde0c96" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,feb423a9-d7f4-4669-84e7-c0841cde0c96.aspx</comments>
      <category>WPF</category>
    </item>
    <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=d18a6103-79b0-44ef-a2c5-6325468717c1</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,d18a6103-79b0-44ef-a2c5-6325468717c1.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,d18a6103-79b0-44ef-a2c5-6325468717c1.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=d18a6103-79b0-44ef-a2c5-6325468717c1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
My article on WPF (Windows Presentation Foundation) triggers and styles is online
on the MSDN website! You can read it <a href="http://www.microsoft.com/belux/msdn/nl/community/columns/gillcleeren/wpf_stylesandtriggers.mspx">here</a>!<br /><br />
From MSDN:<br /><em>In this article, Gill Cleeren focuses on the aspect of styles and triggers in
Windows Presenation Foundation. Styles make it possible to create applications with
a uniform look and with a high level of maintainability. Triggers allow WPF styles
to change one or more properties in response of a user interaction. In this document,
we will use both these technologies to create a richer user experience.<br /></em></p>
        <p>
This is my first article on MSDN (more will come, now that I'm into it ;-) )<br /><br />
Here's a screenshot of the MSDN Belux site (Click for larger version)<br /><br /><a href="http://www.snowball.be/content/binary/GillOnMSDNSmall.jpg"><img src="http://www.snowball.be/content/binary/thumbMSDN.jpg" border="0" /></a><br /><br />
Thanks to the MSDN Belux team, Wim Verhaegen and Tom Mertens.
</p>
        <a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/Thats+Me+On+MSDN+.aspx">
        </a>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=d18a6103-79b0-44ef-a2c5-6325468717c1" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>That's me on MSDN ;-)</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,d18a6103-79b0-44ef-a2c5-6325468717c1.aspx</guid>
      <link>http://www.snowball.be/2006/10/20/Thats+Me+On+MSDN.aspx</link>
      <pubDate>Fri, 20 Oct 2006 11:38:00 GMT</pubDate>
      <description>&lt;p&gt;
My article on WPF (Windows Presentation Foundation) triggers and styles is online
on the MSDN website! You can read it &lt;a href="http://www.microsoft.com/belux/msdn/nl/community/columns/gillcleeren/wpf_stylesandtriggers.mspx"&gt;here&lt;/a&gt;!&lt;br&gt;
&lt;br&gt;
From MSDN:&lt;br&gt;
&lt;em&gt;In this article, Gill Cleeren focuses on the aspect of styles and triggers in
Windows Presenation Foundation. Styles make it possible to create applications with
a uniform look and with a high level of maintainability. Triggers allow WPF styles
to change one or more properties in response of a user interaction. In this document,
we will use both these technologies to create a richer user experience.&lt;br&gt;
&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
This is my first article on MSDN (more will come, now that I'm into it ;-) )&lt;br&gt;
&lt;br&gt;
Here's a screenshot of the MSDN Belux site (Click for larger version)&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/GillOnMSDNSmall.jpg"&gt;&lt;img src="http://www.snowball.be/content/binary/thumbMSDN.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Thanks to the MSDN Belux team, Wim Verhaegen and Tom Mertens.
&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://www.snowball.be/Thats+Me+On+MSDN+.aspx"&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=d18a6103-79b0-44ef-a2c5-6325468717c1" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,d18a6103-79b0-44ef-a2c5-6325468717c1.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Microsoft</category>
      <category>Programming tools</category>
      <category>WPF</category>
      <category>XAML</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=64a5b0e1-61c9-4c04-9790-c6e1783329bf</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,64a5b0e1-61c9-4c04-9790-c6e1783329bf.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,64a5b0e1-61c9-4c04-9790-c6e1783329bf.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=64a5b0e1-61c9-4c04-9790-c6e1783329bf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just a cool link to a cool screencast: <a href="http://mattgriffith.net/PermaLink.aspx?guid=a1cb7215-2719-4c38-8ce3-ba7408aa69aa">http://mattgriffith.net/PermaLink.aspx?guid=a1cb7215-2719-4c38-8ce3-ba7408aa69aa</a> .<br /><br /><em>In this short screencast I show how you can use IronPython and Snoop together
to explore the Windows Presentation Foundation (WPF). </em></p>
        <p>
          <a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython">
            <em>IronPython
is a wonderful dynamic language with full access to the .NET Framework</em>
          </a>
          <em>. </em>
          <a href="http://www.blois.us/Snoop/">
            <em>Snoop
is a great WPF debugging tool</em>
          </a>
          <em>. Together they can help you climb the steep
WPF learning curve. 
<br /><br /></em>A nice way to pass your lazy zundayzzz ;-) 
<br /><br />
And if you're not satisfied with that, here's an interesting article on Settings in
C#: <a href="http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dnvs05/html/SettingsCS_RL.asp">http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dnvs05/html/SettingsCS_RL.asp</a> 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=64a5b0e1-61c9-4c04-9790-c6e1783329bf" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF and IronPython</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,64a5b0e1-61c9-4c04-9790-c6e1783329bf.aspx</guid>
      <link>http://www.snowball.be/2006/09/10/WPF+And+IronPython.aspx</link>
      <pubDate>Sun, 10 Sep 2006 09:58:32 GMT</pubDate>
      <description>&lt;p&gt;
Just a cool link to a cool screencast: &lt;a href="http://mattgriffith.net/PermaLink.aspx?guid=a1cb7215-2719-4c38-8ce3-ba7408aa69aa"&gt;http://mattgriffith.net/PermaLink.aspx?guid=a1cb7215-2719-4c38-8ce3-ba7408aa69aa&lt;/a&gt;&amp;nbsp;.&lt;br&gt;
&lt;br&gt;
&lt;em&gt;In this short screencast I show how you can use IronPython and Snoop together
to explore the Windows Presentation Foundation (WPF). &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython"&gt;&lt;em&gt;IronPython
is a wonderful dynamic language with full access to the .NET Framework&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. &lt;/em&gt;&lt;a href="http://www.blois.us/Snoop/"&gt;&lt;em&gt;Snoop
is a great WPF debugging tool&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. Together they can help you climb the steep
WPF learning curve. 
&lt;br&gt;
&lt;br&gt;
&lt;/em&gt;A nice way to pass your lazy zundayzzz ;-) 
&lt;br&gt;
&lt;br&gt;
And if you're not satisfied with that, here's an interesting article on Settings in
C#: &lt;a href="http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dnvs05/html/SettingsCS_RL.asp"&gt;http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dnvs05/html/SettingsCS_RL.asp&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=64a5b0e1-61c9-4c04-9790-c6e1783329bf" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,64a5b0e1-61c9-4c04-9790-c6e1783329bf.aspx</comments>
      <category>.net</category>
      <category>WPF</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=ccf07d0e-5a1a-47a8-ad25-27ea7696cb14</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,ccf07d0e-5a1a-47a8-ad25-27ea7696cb14.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,ccf07d0e-5a1a-47a8-ad25-27ea7696cb14.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=ccf07d0e-5a1a-47a8-ad25-27ea7696cb14</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img src="http://www.snowball.be/content/binary/codeproject225x90.gif" border="0" />
          <br />
          <br />
My article on WPF reflections can also be read on CodeProject. Since it was put there,
it received almost 2000 reads and a rating of 4 out of 5!<br /><br /></p>
        <p align="left">
Putting nice articles on CodeProject enhances your visibility, so if you're a blogger
and write technical articles, it's a nice place to put them!<br /><br />
Here is the <a href="http://www.codeproject.com/useritems/WPFImageEffects.asp">link </a>:-)
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ccf07d0e-5a1a-47a8-ad25-27ea7696cb14" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Article on CodeProject</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,ccf07d0e-5a1a-47a8-ad25-27ea7696cb14.aspx</guid>
      <link>http://www.snowball.be/2006/08/31/Article+On+CodeProject.aspx</link>
      <pubDate>Thu, 31 Aug 2006 06:28:45 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img src="http://www.snowball.be/content/binary/codeproject225x90.gif" border=0&gt;
&lt;br&gt;
&lt;br&gt;
My article on WPF reflections can also be read on CodeProject. Since it was put there,
it received almost 2000 reads and a rating of 4 out of 5!&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p align=left&gt;
Putting nice articles on CodeProject enhances your visibility, so if you're a blogger
and write technical articles, it's a nice place to put them!&lt;br&gt;
&lt;br&gt;
Here is the &lt;a href="http://www.codeproject.com/useritems/WPFImageEffects.asp"&gt;link &lt;/a&gt;:-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ccf07d0e-5a1a-47a8-ad25-27ea7696cb14" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,ccf07d0e-5a1a-47a8-ad25-27ea7696cb14.aspx</comments>
      <category>.net</category>
      <category>Programming</category>
      <category>WPF</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=410a8a1f-3552-4239-a97e-6a1579cdfb74</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,410a8a1f-3552-4239-a97e-6a1579cdfb74.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,410a8a1f-3552-4239-a97e-6a1579cdfb74.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=410a8a1f-3552-4239-a97e-6a1579cdfb74</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today, I came across a nice <a href="http://www.paulstovell.net/Articles/WPFValidation.aspx">article </a>on
validation and validation controls in WPF. Certainly worth the read if you're into
WPF!<br /><br />
And here is another interesting WPF link: <a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060817WPFKG/manifest.xml">content
in WPF</a>.<br /></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=410a8a1f-3552-4239-a97e-6a1579cdfb74" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Validation in WPF</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,410a8a1f-3552-4239-a97e-6a1579cdfb74.aspx</guid>
      <link>http://www.snowball.be/2006/08/20/Validation+In+WPF.aspx</link>
      <pubDate>Sun, 20 Aug 2006 19:36:21 GMT</pubDate>
      <description>&lt;p&gt;
Today, I came across a nice &lt;a href="http://www.paulstovell.net/Articles/WPFValidation.aspx"&gt;article &lt;/a&gt;on
validation and validation controls in WPF. Certainly worth the read if you're into
WPF!&lt;br&gt;
&lt;br&gt;
And here is another interesting WPF link: &lt;a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060817WPFKG/manifest.xml"&gt;content
in WPF&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=410a8a1f-3552-4239-a97e-6a1579cdfb74" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,410a8a1f-3552-4239-a97e-6a1579cdfb74.aspx</comments>
      <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=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=25908320-0aff-45d8-a61d-3dcefd50c10a</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,25908320-0aff-45d8-a61d-3dcefd50c10a.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,25908320-0aff-45d8-a61d-3dcefd50c10a.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=25908320-0aff-45d8-a61d-3dcefd50c10a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <h2>
          <img src="http://www.snowball.be/content/binary/net30_599x300.jpg" border="0" />
        </h2>
        <h2>MSDN Event: .NET Framework 3.0 Development
</h2>
        <p class="blurb">
Learn about .NET Framework 3.0, the upcoming managed-code programming model which
builds on and extends the .NET Framework. 
<br /><br />
The new version of the Framework offers you both practical solutions to today's software
challenges and new opportunities to create software and services not possible now. 
<br /><br />
It enables you, as a developer or designer, to quickly create new applications and
experiences that are more reliable and secure, visually stunning, smarter about information
management, better connected, and more collaborative.<br /><br />
Hurry up, it's free training on the next-generation!! Subscribe <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=25908320-0aff-45d8-a61d-3dcefd50c10a" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Free MSDN event in Belgium</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,25908320-0aff-45d8-a61d-3dcefd50c10a.aspx</guid>
      <link>http://www.snowball.be/2006/08/03/Free+MSDN+Event+In+Belgium.aspx</link>
      <pubDate>Thu, 03 Aug 2006 22:05:43 GMT</pubDate>
      <description>&lt;h2&gt;&lt;img src="http://www.snowball.be/content/binary/net30_599x300.jpg" border=0&gt;
&lt;/h2&gt;
&lt;h2&gt;MSDN Event: .NET Framework 3.0 Development
&lt;/h2&gt;
&lt;p class=blurb&gt;
Learn about .NET Framework 3.0, the upcoming managed-code programming model which
builds on and extends the .NET Framework. 
&lt;br&gt;
&lt;br&gt;
The new version of the Framework offers you both practical solutions to today's software
challenges and new opportunities to create software and services not possible now. 
&lt;br&gt;
&lt;br&gt;
It enables you, as a developer or designer, to quickly create new applications and
experiences that are more reliable and secure, visually stunning, smarter about information
management, better connected, and more collaborative.&lt;br&gt;
&lt;br&gt;
Hurry up, it's free training on the next-generation!! Subscribe &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=25908320-0aff-45d8-a61d-3dcefd50c10a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,25908320-0aff-45d8-a61d-3dcefd50c10a.aspx</comments>
      <category>ASP.net</category>
      <category>C#</category>
      <category>Microsoft</category>
      <category>WPF</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=4c504758-3ea5-4c16-a4be-ff34c3ebbf45</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,4c504758-3ea5-4c16-a4be-ff34c3ebbf45.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,4c504758-3ea5-4c16-a4be-ff34c3ebbf45.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=4c504758-3ea5-4c16-a4be-ff34c3ebbf45</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Something that got me puzzled today was the Button.Content property. Let me first
explain the WPF Content Model. 
</p>
        <p>
At the very base, we have controls and containers, or as I found somewhere, “bits
of content and behavior” and “containers of bits of content and behavior”. However,
there are 2 special things about the content containment.
</p>
        <p>
For example, a simple button. You do not have to put a string as the content of a
Button. It’s then again not prohibited either, as can be seen in the following code.
</p>
        <p>
          <font face="Courier New">  &lt;Button HorizontalAlignment="Left"<br />
          Width="100"<br />
          Height=”50” &gt;Hello&lt;/Button&gt;</font>
        </p>
        <p>
Now comes the nice part: in WPF, you can use any element as content for a button.
For example, an image. Or to make it all special, why not add video to a button?
</p>
        <p>
          <font face="Courier New">      &lt;Button Width="100" Height="50"&gt;<br />
        &lt;Image Source="</font>
          <font face="Courier New">http://www.google.com/images/logo_sm.gif"&gt;&lt;/Image&gt;</font>
          <font face="Courier New">
            <br />
      &lt;/Button&gt;</font>
        </p>
        <p>
This works, because in the end, everything is derived from ContentControl, just like
many other controls, for example Label, Checkbox and even Window itself. A ContentControl,
like the Button, gets its contents via the Content property. So, the following code
is actually the same as the before-last example.
</p>
        <p>
          <font face="Courier New">      &lt;Button Width="100" Height="50"
Content="Hello"&gt;<br /></font>
          <br />
What you end up with, is a control with the behavior of the actual control, but it
can display whatever you want, without needing to build special derived classes like
an ImageButtonClass. 
</p>
        <p>
          <strong>Content properties</strong>
          <br />
The content properties where today’s problem.
</p>
        <p>
In earlier CTP, you could write :<br />
      <font face="Courier New">&lt;Button Name="MyButton"
&gt;<br />
        &lt;Button.Content&gt;<br />
          …<br />
        &lt;/Button.Content&gt;<br />
      &lt;/Button&gt;</font></p>
        <p>
As soon as I tried this, a syntax error came on my screen, saying that this property
was not allowed. 
<br />
After some searching, I got it working by simply omitting the content-tag, like this.<br /><br /><font face="Courier New">&lt;Button Name="MyButton" &gt; 
<br />
        …<br />
&lt;/Button&gt;</font></p>
        <p>
Now that we can add content to the control, we also need to be able to build them
in a nice layout.  Currently, there are 4 layoutpanels: DockPanel, StackPanel,
Grid and Canvas. 
</p>
        <p>
In the following code, I’m making use of the Grid Panel.
</p>
        <p>
          <font face="Courier New">&lt;Grid&gt;<br />
      &lt;Grid.RowDefinitions&gt;<br />
        &lt;RowDefinition&gt;&lt;/RowDefinition&gt;<br />
        &lt;RowDefinition&gt;&lt;/RowDefinition&gt;<br />
        &lt;RowDefinition&gt;&lt;/RowDefinition&gt;<br />
      &lt;/Grid.RowDefinitions&gt;<br />
      &lt;Grid.ColumnDefinitions&gt;<br />
        &lt;ColumnDefinition&gt;&lt;/ColumnDefinition&gt;<br />
        &lt;ColumnDefinition&gt;&lt;/ColumnDefinition&gt;<br />
        &lt;ColumnDefinition&gt;&lt;/ColumnDefinition&gt;<br />
      &lt;/Grid.ColumnDefinitions&gt;<br />
      &lt;Button Grid.Row="0" Grid.Column="0"&gt;Button1&lt;/Button&gt;<br />
      &lt;Button Grid.Row="0" Grid.Column="1"&gt;Button2&lt;/Button&gt;<br />
      &lt;Button Grid.Row="0" Grid.Column="2"&gt;Button3&lt;/Button&gt;<br />
      &lt;Button Grid.Row="1" Grid.Column="0"&gt;Button4&lt;/Button&gt;<br />
      &lt;Button Grid.Row="1" Grid.Column="1"&gt;Button5&lt;/Button&gt;<br />
      &lt;Button Grid.Row="1" Grid.Column="2"&gt;Button6&lt;/Button&gt;<br />
      &lt;Button Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3"&gt;Button1&lt;/Button&gt;<br />
    &lt;/Grid&gt;</font>
        </p>
        <font face="Courier New">
          <p align="center">
            <br />
            <img src="http://www.snowball.be/content/binary/gridlayout.jpg" border="0" />
          </p>
        </font>
        <p>
And here, I make use of the Grid to make an ImageButton.<br /><br /><font face="Courier New">  &lt;Button Name="MyButton" Margin="97,95.5,95,121.5"
&gt;<br />
    &lt;Grid&gt;<br />
      &lt;Grid.RowDefinitions&gt;<br />
        &lt;RowDefinition&gt;&lt;/RowDefinition&gt;<br />
        &lt;RowDefinition&gt;&lt;/RowDefinition&gt;<br />
      &lt;/Grid.RowDefinitions&gt;<br />
      &lt;Image Source="</font><font face="Courier New">http://www.google.com/images/logo_sm.gif</font><font face="Courier New">"
Grid.Row="0"&gt;&lt;/Image&gt;<br />
      &lt;TextBlock Grid.Row="1" HorizontalAlignment="Center"
&gt;Go to Google&lt;/TextBlock&gt;<br />
    &lt;/Grid&gt;<br />
  &lt;/Button&gt;</font></p>
        <p align="center">
          <font face="Courier New">
            <img src="http://www.snowball.be/content/binary/google.jpg" border="0" />
            <br />
          </font>
        </p>
        <p>
Something else that got me scratching my head today was the following error: Error
in markup file 'Window1.xaml' : Exception has been thrown by the target of an invocation.<br />
I got this error when I write: 
<br /><br />
 <font face="Courier New">&lt;Image Source="coffeebean.bmp" Grid.Row="0"&gt;&lt;/Image&gt;</font></p>
        <p>
One could think that the imagefile is corrupt, or simply not in the correct place…
Well, that for sure isn’t the problem. Still haven’t figured this one out...
</p>
        <p>
That’s about it for today. Hope you, like me, learned your first WPF/XAML steps. At
this point, the examples are still very basic, but that will for sure change!<br /></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4c504758-3ea5-4c16-a4be-ff34c3ebbf45" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>WPF adventures: Day 1</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,4c504758-3ea5-4c16-a4be-ff34c3ebbf45.aspx</guid>
      <link>http://www.snowball.be/2006/06/18/WPF+Adventures+Day+1.aspx</link>
      <pubDate>Sun, 18 Jun 2006 11:27:45 GMT</pubDate>
      <description>&lt;p&gt;
Something that got me puzzled today was the Button.Content property. Let me first
explain the WPF Content Model. 
&lt;/p&gt;
&lt;p&gt;
At the very base, we have controls and containers, or as I found somewhere, “bits
of content and behavior” and “containers of bits of content and behavior”. However,
there are 2 special things about the content containment.
&lt;/p&gt;
&lt;p&gt;
For example, a simple button. You do not have to put a string as the content of a
Button. It’s then again not prohibited either, as can be seen in the following code.
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;nbsp; &amp;lt;Button HorizontalAlignment="Left"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width="100"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height=”50” &amp;gt;Hello&amp;lt;/Button&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Now comes the nice part: in WPF, you can use any element as content for a button.
For example, an image. Or to make it all special, why not add video to a button?
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Width="100" Height="50"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Image Source="&lt;/font&gt;&lt;font face="Courier New"&gt;http://www.google.com/images/logo_sm.gif"&amp;gt;&amp;lt;/Image&amp;gt;&lt;/font&gt;&lt;font face="Courier New"&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Button&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
This works, because in the end, everything is derived from ContentControl, just like
many other controls, for example Label, Checkbox and even Window itself. A ContentControl,
like the Button, gets its contents via the Content property. So, the following code
is actually the same as the before-last example.
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Width="100" Height="50"
Content="Hello"&amp;gt;&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
What you end up with, is a control with the behavior of the actual control, but it
can display whatever you want, without needing to build special derived classes like
an ImageButtonClass. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Content properties&lt;/strong&gt;
&lt;br&gt;
The content properties where today’s problem.
&lt;/p&gt;
&lt;p&gt;
In earlier CTP, you could write :&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font face="Courier New"&gt;&amp;lt;Button Name="MyButton"
&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button.Content&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&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;lt;/Button.Content&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Button&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
As soon as I tried this, a syntax error came on my screen, saying that this property
was not allowed. 
&lt;br&gt;
After some searching, I got it working by simply omitting the content-tag, like this.&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;lt;Button Name="MyButton" &amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&lt;br&gt;
&amp;lt;/Button&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Now that we can add content to the control, we also need to be able to build them
in a nice layout.&amp;nbsp; Currently, there are 4 layoutpanels: DockPanel, StackPanel,
Grid and Canvas. 
&lt;/p&gt;
&lt;p&gt;
In the following code, I’m making use of the Grid Panel.
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;Grid&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&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;nbsp; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&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;lt;Grid.ColumnDefinitions&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ColumnDefinition&amp;gt;&amp;lt;/ColumnDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ColumnDefinition&amp;gt;&amp;lt;/ColumnDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ColumnDefinition&amp;gt;&amp;lt;/ColumnDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Grid.Row="0" Grid.Column="0"&amp;gt;Button1&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Grid.Row="0" Grid.Column="1"&amp;gt;Button2&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Grid.Row="0" Grid.Column="2"&amp;gt;Button3&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Grid.Row="1" Grid.Column="0"&amp;gt;Button4&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Grid.Row="1" Grid.Column="1"&amp;gt;Button5&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Grid.Row="1" Grid.Column="2"&amp;gt;Button6&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3"&amp;gt;Button1&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;font face="Courier New"&gt; 
&lt;p align=center&gt;
&lt;br&gt;
&lt;img src="http://www.snowball.be/content/binary/gridlayout.jpg" border=0&gt;
&lt;/font&gt;&gt;
&lt;p&gt;
And here, I make use of the Grid to make an ImageButton.&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;&amp;nbsp; &amp;lt;Button Name="MyButton" Margin="97,95.5,95,121.5"
&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid.RowDefinitions&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&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;lt;Image Source="&lt;/font&gt;&lt;font face="Courier New"&gt;http://www.google.com/images/logo_sm.gif&lt;/font&gt;&lt;font face="Courier New"&gt;"
Grid.Row="0"&amp;gt;&amp;lt;/Image&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Grid.Row="1" HorizontalAlignment="Center"
&amp;gt;Go to Google&amp;lt;/TextBlock&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/Button&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p align=center&gt;
&lt;font face="Courier New"&gt;&lt;img src="http://www.snowball.be/content/binary/google.jpg" border=0&gt;
&lt;br&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Something else that got me scratching my head today was the following error: Error
in markup file 'Window1.xaml' : Exception has been thrown by the target of an invocation.&lt;br&gt;
I got this error when I write: 
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&lt;font face="Courier New"&gt;&amp;lt;Image Source="coffeebean.bmp" Grid.Row="0"&amp;gt;&amp;lt;/Image&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
One could think that the imagefile is corrupt, or simply not in the correct place…
Well, that for sure isn’t the problem. Still haven’t figured this one out...
&lt;/p&gt;
&lt;p&gt;
That’s about it for today. Hope you, like me, learned your first WPF/XAML steps. At
this point, the examples are still very basic, but that will for sure change!&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4c504758-3ea5-4c16-a4be-ff34c3ebbf45" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,4c504758-3ea5-4c16-a4be-ff34c3ebbf45.aspx</comments>
      <category>WPF</category>
      <category>XAML</category>
    </item>
  </channel>
</rss>