<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Okoboji: a lake, a mythical university, Kevin Moore's blog : Programming</title><link>http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx</link><description>Tags: Programming</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Programmer Don't Like to Code</title><link>http://blogs.msdn.com/okoboji/archive/2007/02/05/programmer-don-t-like-to-code.aspx</link><pubDate>Tue, 06 Feb 2007 07:13:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1609053</guid><dc:creator>okoboji</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/1609053.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=1609053</wfw:commentRss><description>&lt;p&gt;Forgot what link brought me here, but I was quite impressed with the analysis.&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://rentzsch.com/notes/programmersDontLikeToCode"&gt;Programmer's Don't Like to Code&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;...they &lt;strong&gt;&lt;em&gt;like problem solving&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;If programmers liked to code, we’d all be writing in machine language to this day. You can write that stuff all day and get precious little of the real problem solved.  &lt;p&gt;If programmers liked to code, they wouldn’t value a language by its libraries. If programmers liked to code, every last one of us would be overjoyed to write our own HTTP client.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Interesting stuff...&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1609053" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Cleaning up your theme files with MergeDictionary</title><link>http://blogs.msdn.com/okoboji/archive/2006/07/29/682761.aspx</link><pubDate>Sat, 29 Jul 2006 23:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:682761</guid><dc:creator>okoboji</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/682761.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=682761</wfw:commentRss><description>&lt;P&gt;Once you get the resources for more than one control in generic.xaml, things can get a bit messy.&lt;/P&gt;
&lt;P&gt;What one really wants: split up your resources into separate dictionaries for each control.&lt;/P&gt;
&lt;P&gt;I do this as part of the latest &lt;A href="http://wpf.netfx3.com/files/folders/controls/entry4638.aspx"&gt;bag-o-tricks&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I should get &lt;A href="http://laurenlavoie.com/avalon"&gt;Lauren&lt;/A&gt; or &lt;A href="http://nerddawg.blogspot.com/"&gt;Ashish&lt;/A&gt; to fill in the details about the "source" semantics, since they are shared for all resources (images, fonts, etc) in WPF.&lt;/P&gt;
&lt;P&gt;Open up the &lt;A href="http://wpf.netfx3.com/files/folders/controls/entry4638.aspx"&gt;bag-o-tricks&lt;/A&gt; in VS (or the file system) and let's dig in.&lt;/P&gt;
&lt;P&gt;First, you'll notice I've already split out the ColorPicker and DateControls into separate xaml files.&lt;/P&gt;
&lt;P&gt;&lt;IMG height=291 src="http://blogs.msdn.com/photos/okoboji/images/682748/original.aspx" width=305&gt;&lt;/P&gt;
&lt;P&gt;Let's do the Unload and Edit trick I showed yesterday.&lt;/P&gt;
&lt;P&gt;&lt;IMG height=463 src="http://blogs.msdn.com/photos/okoboji/images/682749/original.aspx" width=336&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG height=219 src="http://blogs.msdn.com/photos/okoboji/images/682750/original.aspx" width=361&gt;&lt;/P&gt;
&lt;P&gt;You'll notice that these files, just like the other theme files (and all of the other XAML files in the solution) are defined as &amp;lt;Page/&amp;gt;. What does this mean?&lt;/P&gt;
&lt;P&gt;&lt;IMG height=166 src="http://blogs.msdn.com/photos/okoboji/images/682751/original.aspx" width=548&gt;&lt;/P&gt;
&lt;P&gt;Let's open our trusty &lt;A href="http://www.aisto.com/roeder/DotNet/"&gt;Reflector&lt;/A&gt; to take a look.&lt;/P&gt;
&lt;P&gt;&lt;IMG height=327 src="http://blogs.msdn.com/photos/okoboji/images/682752/original.aspx" width=702&gt;&lt;/P&gt;
&lt;P&gt;If we build the project and drag-drop WPFSamplesLib.dll into &lt;A href="http://www.aisto.com/roeder/DotNet/"&gt;Reflector&lt;/A&gt;, we can drill into the Resources. You'll notice that we have an entry for each XAML file in our project. Except instead of .xaml, we see .baml as a file extension. You'll also notice that the name for each entry in the resources maps to the full path for the xaml file we had in the project (the themes directory is included).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://rrelyea.spaces.msn.com/"&gt;Rob&lt;/A&gt; goes into this a little bit on &lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=212481"&gt;Channel9&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Going back to the project, let's reload the project and take a look at generic.xaml.&lt;/P&gt;
&lt;P&gt;&lt;IMG height=83 src="http://blogs.msdn.com/photos/okoboji/images/682753/original.aspx" width=751&gt;&lt;/P&gt;
&lt;P&gt;You'll notice this funky syntax for the Source of the ResourceDictionary. If we break it into chucks, it makes sense.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;WPFSamplesLib is the name of the assembly (but we strip out the .dll).&lt;/LI&gt;
&lt;LI&gt;";component/" is magic. No...it basically tells the resource loader that we're digging into embedded resources in the defined assembly.&lt;/LI&gt;
&lt;LI&gt;The last bit is just a pointer to the entry in the assembly resources. You'll notice it matches the path we have in the project and the path you see in Reflector. Yes, there is a xaml/baml extension mismatch, but this is intentional. We try to hide devs from having to think about XAML vs. BAML. BAML is just the XAML content in an optimized, binary form.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;This trick also works from code, in fact, using our trusty &lt;A href="http://www.aisto.com/roeder/DotNet/"&gt;Reflector&lt;/A&gt; we can see this syntax for resources is the same syntax used by the compiler in initialize components for our application. (We're looking at WPFSamplesApp.exe, this time.)&lt;/P&gt;
&lt;P&gt;&lt;IMG height=415 src="http://blogs.msdn.com/photos/okoboji/images/682754/original.aspx" width=902&gt;&lt;/P&gt;
&lt;P&gt;Make sense?&lt;/P&gt;
&lt;P&gt;&lt;I&gt;This post is brought to you by our friends at &lt;A href="http://www.getpaint.net/"&gt;Paint .NET&lt;/A&gt; and &lt;A href="http://www.aisto.com/roeder/DotNet/"&gt;Reflector&lt;/A&gt;. &lt;A href="http://www.getpaint.net/"&gt;Paint .NET&lt;/A&gt; and &lt;A href="http://www.aisto.com/roeder/DotNet/"&gt;Reflector&lt;/A&gt; are the first two apps I install on a clean machine. Both available freely. Both examples of .NET 2.0 WinForms hotness. (I'm being patient for the WPF versions of each.)&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Have a good weekend, friends.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=682761" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Hello from TechEd Boston (update to Bag-O-Tricks)</title><link>http://blogs.msdn.com/okoboji/archive/2006/06/14/hello-from-teched-boston-update-to-bag-o-tricks.aspx</link><pubDate>Thu, 15 Jun 2006 00:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631433</guid><dc:creator>okoboji</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/631433.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=631433</wfw:commentRss><description>&lt;p&gt;Having a blast in Boston. The city is beautiful.&lt;br&gt;&lt;br&gt;Coolest things I’ve seen today: &lt;a href="http://www.microsoft.com/exchange/preview/default.mspx" mce_href="http://www.microsoft.com/exchange/preview/default.mspx"&gt;Exchange 2007&lt;/a&gt;. Scary hot. You must go learn about it now. Holy cow.&lt;br&gt;&lt;br&gt;If you’re at TechEd, my talk is tomorrow at 1pm. Dev338. 157ABC. The slides are now on &lt;a href="https://www1.msteched.com/Sessions.aspx" mce_href="https://www1.msteched.com/Sessions.aspx"&gt;MSTechEd&lt;/a&gt; (you need to use a TechEd password to access them. Search for Speaker="Kevin Moore"). &lt;br&gt;&lt;br&gt;For everyone, I’ve &lt;a href="http://j832.com/bagotricks/" mce_href="http://j832.com/bagotricks/"&gt;posted an update&lt;/a&gt; to the Bag-O-Tricks for Beta2. No new features, but I fixed some bugs from the upgrade (the &lt;a href="http://blogs.msdn.com/okoboji/archive/2006/02/22/537226.aspx" mce_href="http://blogs.msdn.com/okoboji/archive/2006/02/22/537226.aspx"&gt;last update&lt;/a&gt; was for the Feb CTP). It’s hosted on the &lt;a href="http://wpf.netfx3.com/" mce_href="http://wpf.netfx3.com/"&gt;WPF community portal&lt;/a&gt;. Lots of cool stuff there. Check it out.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=631433" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/TechEd+2006/default.aspx">TechEd 2006</category></item><item><title>Books on WPF</title><link>http://blogs.msdn.com/okoboji/archive/2006/04/26/584549.aspx</link><pubDate>Thu, 27 Apr 2006 00:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:584549</guid><dc:creator>okoboji</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/584549.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=584549</wfw:commentRss><description>Mehrdad is looking for some WPF books.&lt;br&gt;&lt;br&gt;I know of two:
&lt;ol&gt;
	&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0596101139/j832com"&gt;
	Programming Windows Presentation Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0596526733/j832com"&gt;XAML in a Nutshell&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;...and of course, &lt;a href="http://www.simplegeek.com/"&gt;Chris Anderson&lt;/a&gt; is busy working on his book.&lt;/p&gt;

&lt;p&gt;I expect that once Beta2 hits the road, we'll see a lot more books on WPF and 
WinFX.&lt;/p&gt;
&lt;p&gt;I can't wait for Beta2...much cool stuff to show off.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=584549" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>Do you subclass ItemsControl? Keep reading.</title><link>http://blogs.msdn.com/okoboji/archive/2006/03/10/549188.aspx</link><pubDate>Sat, 11 Mar 2006 04:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:549188</guid><dc:creator>okoboji</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/549188.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=549188</wfw:commentRss><description>&lt;P&gt;ItemsControl has a protected virtual GetContainerForItemOverride that takes an object parameter.&lt;/P&gt;
&lt;P&gt;In all in-box WPF controls, this parameter is ignored and a cookie-cutter container is returned.&lt;/P&gt;
&lt;P&gt;While it’s currently possible for control authors to change the container they return depending on the object provided, we’ve never seen this done.&lt;/P&gt;
&lt;P&gt;We have an opportunity to optimize the behavior of ItemsControl under a few circumstances, but only if we can assume the container returned from GetContainerForItemOverride is constant for any ItemsControl.&lt;/P&gt;
&lt;P&gt;The WPF team is entertaining changing this method to have no parameters to allow for this optimization. Before we make such a change, though, we want to make sure there are no real-world applications of this parameter that we’d be eliminating (especially this late in our product cycle.)&lt;/P&gt;
&lt;P&gt;If you could please let us know if you are using this parameter, how you’re using it, and the inconvenience caused by its removal, we would greatly appreciate it.&lt;/P&gt;
&lt;P&gt;Please provide feedback by replying to this&amp;nbsp;post or &lt;A HREF="/okoboji/contact.aspx"&gt;sending me a note&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=549188" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>TreeListView - Scary Cool Control Mash-up in WPF</title><link>http://blogs.msdn.com/okoboji/archive/2006/03/02/542274.aspx</link><pubDate>Thu, 02 Mar 2006 21:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:542274</guid><dc:creator>okoboji</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/542274.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=542274</wfw:commentRss><description>&lt;P&gt;As promised, the &lt;A href="/atc_avalon_team/"&gt;ATC team&lt;/A&gt; has posted &lt;A href="/atc_avalon_team/archive/2006/03/01/541206.aspx"&gt;another ListView sample&lt;/A&gt;. This sample is amazing because it doesn’t involve ListView at all. Instead, it uses the primitives we designed for ListView--namely GridViewColumn and GridViewRowPresenter. The code required here is amazingly small for the flexibility of the end experience.&lt;/P&gt;
&lt;P&gt;&lt;A href="/atc_avalon_team/archive/2006/03/01/541206.aspx"&gt;&lt;IMG height=299 src="/photos/okoboji/images/542262/original.aspx" width=535 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The lessons here are important for control authors:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Build your controls the right way and you’ll drastically increase their flexibility and reuse. (We didn’t design GridViewRowPresenter for a TreeView, but it just happens to work because of the inherently compositional nature of WPF.) 
&lt;LI&gt;Don’t start from scratch when you build a control. It’s easy to remix the pieces we provide in the platform to enable unique and valuable experiences.&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=542274" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>WPF ListView Rocks!</title><link>http://blogs.msdn.com/okoboji/archive/2006/02/23/wpf-listview-rocks.aspx</link><pubDate>Fri, 24 Feb 2006 05:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:538340</guid><dc:creator>okoboji</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/538340.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=538340</wfw:commentRss><description>No control in our library demonstrates the power of WPF more than ListView. It is &lt;i&gt;&lt;b&gt;the&lt;/b&gt;&lt;/i&gt; example of how element composition can be leveraged to make amazingly beautiful and amazingly flexible experiences.

&lt;p&gt;Check out the &lt;a href="http://blogs.msdn.com/atc_avalon_team/archive/2006/02/23/537715.aspx" mce_href="http://blogs.msdn.com/atc_avalon_team/archive/2006/02/23/537715.aspx"&gt;inaugural post&lt;/a&gt; from our friends in the &lt;a href="http://research.microsoft.com/atc/" mce_href="http://research.microsoft.com/atc/"&gt;Advanced Technology Center&lt;/a&gt; in Beijing. I've had the pleasure of working with this group of brilliant engineers for over a year now. They've just &lt;a href="http://blogs.msdn.com/atc_avalon_team/default.aspx" mce_href="http://blogs.msdn.com/atc_avalon_team/default.aspx"&gt;started blogging&lt;/a&gt;. Keep looking for more ListView samples in the near future. They have some stuff that'll blow you away.&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=538340" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>Updated Bag-O-Tricks for WinFX Februrary CTP</title><link>http://blogs.msdn.com/okoboji/archive/2006/02/22/updated-bag-o-tricks-for-winfx-februrary-ctp.aspx</link><pubDate>Wed, 22 Feb 2006 23:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:537226</guid><dc:creator>okoboji</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/537226.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=537226</wfw:commentRss><description>&lt;p&gt;In &lt;a href="http://blogs.msdn.com/mswanson/archive/2006/02/22/537189.aspx" mce_href="http://blogs.msdn.com/mswanson/archive/2006/02/22/537189.aspx"&gt;
case&lt;/a&gt;
&lt;a href="http://blogs.msdn.com/johngossman/archive/2006/02/22/537159.aspx" mce_href="http://blogs.msdn.com/johngossman/archive/2006/02/22/537159.aspx"&gt;you&lt;/a&gt;
&lt;a href="http://blogs.msdn.com/xps/archive/2006/02/22/537124.aspx" mce_href="http://blogs.msdn.com/xps/archive/2006/02/22/537124.aspx"&gt;haven't&lt;/a&gt;
&lt;a href="http://blogs.msdn.com/expression/archive/2006/02/22/537105.aspx" mce_href="http://blogs.msdn.com/expression/archive/2006/02/22/537105.aspx"&gt;heard&lt;/a&gt;, 
the &lt;a href="http://msdn.microsoft.com/windowsvista/getthebeta/default.aspx" mce_href="http://msdn.microsoft.com/windowsvista/getthebeta/default.aspx"&gt;
WinFX February CTP&lt;/a&gt; has been released. If you haven't downloaded it yet, what 
are you waiting for! Go! Get it! Now!&lt;/p&gt;

&lt;p&gt;Alright, as is the custom, I've posted a new and improved drop of my
&lt;a href="http://j832.com/bagotricks/" mce_href="http://j832.com/bagotricks/"&gt;
Bag-O-Tricks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In this release:
&lt;/p&gt;
&lt;ul&gt;
	
&lt;li&gt;&lt;b&gt;TreeView Double-click&lt;/b&gt; - Lot's of people seem to want to know when 
	a TreeView/ListBox Item has been double/triple clicked. Here's how you do 
	it.&lt;/li&gt;
	
&lt;li&gt;&lt;b&gt;Visual Tree Viewer&lt;/b&gt; - Ever want to know what elements are actually 
	getting created by a template? Here's a novel way to debug your WPF 
	app...using WPF!&lt;/li&gt;
	
&lt;li&gt;&lt;b&gt;TreeMapPanel&lt;/b&gt; - I posted this sample last year around the PDC. 
	Here's the refresh for February CTP. (Actually, I didn't have to touch the 
	code at all.)&lt;/li&gt;
	
&lt;li&gt;&lt;b&gt;NumericUpDown Control&lt;/b&gt; - One of the controls we don't have in the 
	box, but everyone asks about. It's not completely done, but it should give 
	people a good start if they want the control.&lt;/li&gt;
	
&lt;li&gt;&lt;b&gt;File organization&lt;/b&gt; - I've also created a second assembly in the 
	Bag-O-Tricks for the controls. This demonstrates how to have styles in an 
	external library plus their default templates.&lt;br&gt;
&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=537226" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>Robby and Me on Channel 9</title><link>http://blogs.msdn.com/okoboji/archive/2006/02/19/535242.aspx</link><pubDate>Mon, 20 Feb 2006 06:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:535242</guid><dc:creator>okoboji</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/535242.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=535242</wfw:commentRss><description>&lt;P&gt;We're not nearly as &lt;A href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20051215WinFXCA/manifest.xml"&gt;entertaining&lt;/A&gt; as &lt;A href="http://pluralsight.com/blogs/dbox/"&gt;Don&lt;/A&gt; and &lt;A href="http://simplegeek.com/"&gt;Chris&lt;/A&gt;, but &lt;A href="http://notstatic.com/"&gt;Robby&lt;/A&gt; and I are in &lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=163511"&gt;another video&lt;/A&gt; on &lt;A href="http://channel9.msdn.com/"&gt;Channel 9&lt;/A&gt; (our last one was on &lt;A HREF="/okoboji/archive/2006/02/02/523681.aspx"&gt;MSDN TV&lt;/A&gt;). This time we talk about our experiences with Windows programming, the web and the power/flexibility/extensibility of WPF. It was a fun conversation.&lt;/P&gt;
&lt;P&gt;Robby is giving a talk at &lt;A href="http://mix06.com/"&gt;MIX&lt;/A&gt; this year. His &lt;A href="http://microsoft.sitestream.com/PDC05/PRS/PRS317.zip"&gt;PDC talk&lt;/A&gt; [ZIP, 144MB] was amazing. (Only Robby could weave vegetable peelers and the power of design.) &lt;A href="http://mix06.com/Register.aspx"&gt;Sign up for Mix&lt;/A&gt; while you can!&lt;/P&gt;
&lt;P&gt;In the video we talk about &lt;A href="http://csszengarden.com/"&gt;CSS Zen Garden&lt;/A&gt; and a couple of panels I've written: &lt;A HREF="/okoboji/archive/2005/09/15/463500.aspx"&gt;TreeMapPanel&lt;/A&gt; (haven't tested it on the Jan CTP) and &lt;A HREF="/okoboji/archive/2005/11/18/494559.aspx"&gt;Animating Tile Panel&lt;/A&gt; (the latest update is in my &lt;A HREF="/okoboji/archive/2006/01/19/515081.aspx"&gt;Bag-O-Tricks&lt;/A&gt;).&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=535242" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Longhorn/default.aspx">Longhorn</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Avalon/default.aspx">Avalon</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>In other news...</title><link>http://blogs.msdn.com/okoboji/archive/2006/02/16/533057.aspx</link><pubDate>Thu, 16 Feb 2006 11:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:533057</guid><dc:creator>okoboji</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/533057.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=533057</wfw:commentRss><description>&lt;p&gt;Our friends from &lt;a href="http://www.microsoft.com/max/"&gt;Max&lt;/a&gt; have been 
busy.&lt;/p&gt;
&lt;p&gt;Not only are they cranking away at a beautiful WinFX app, but they're taking 
time to blog about their adventures.&lt;/p&gt;
&lt;p&gt;&lt;a HREF="/bencon/"&gt;Ben&lt;/a&gt; has blogged about IScrollInfo 
[&lt;a HREF="/bencon/archive/2006/01/05/509991.aspx"&gt;Part 1&lt;/a&gt;,
&lt;a HREF="/bencon/archive/2006/01/06/510355.aspx"&gt;Part 2&lt;/a&gt;,
&lt;a HREF="/bencon/archive/2006/01/07/510530.aspx"&gt;Part 3&lt;/a&gt;]. 
If you are making your own panel and want a ScrollViewer to party over it, start 
here.&lt;/p&gt;
&lt;p&gt;&lt;a HREF="/dancre/"&gt;Dan&lt;/a&gt; is blogging about creating a 
virtualized panel (for putting lots of data in a list). [&lt;a HREF="/dancre/archive/2006/02/06/526310.aspx"&gt;Part 
1&lt;/a&gt;, &lt;a HREF="/dancre/archive/2006/02/13/531550.aspx"&gt;
Part 2&lt;/a&gt;,
&lt;a HREF="/dancre/archive/2006/02/14/532333.aspx"&gt;Part 3&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;If you haven't heard,
&lt;a href="http://www.microsoft.com/windows/ie/ie7/default.mspx"&gt;IE7 is beautiful&lt;/a&gt;. One of my
&lt;a HREF="/okoboji/archive/2003/10/15/54532.aspx"&gt;first blog 
posts&lt;/a&gt; was about Mozilla 1.5. About the same time the IE team was getting 
rolling again. They have done some amazing work.
&lt;a href="http://www.microsoft.com/windows/ie/ie7/ie7betaredirect.mspx"&gt;Check it 
out&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Today &lt;a href="http://www.beacosta.com/"&gt;Bea&lt;/a&gt;,
&lt;a HREF="/namitag/"&gt;Namita&lt;/a&gt;, and I met with some folks 
from the &lt;a HREF="/vbteam/default.aspx"&gt;VB team&lt;/a&gt; to chat 
about integrating their
&lt;a HREF="/vbteam/archive/2006/01/23/VB_LINQ_CTP_Now_live_on_MSDN.aspx"&gt;
new language features&lt;/a&gt; with WPF data binding. Wow! I know there are some C# 
guys out there laughing at VB. Guys and gals:
&lt;a href="http://msdn.microsoft.com/vbasic/future/"&gt;download the demo&lt;/a&gt;. You 
may soon forget your love of semicolons. Mmm...XML inline with code...*drool*. 
(Oh, and check out Bea's post on doing
&lt;a href="http://www.beacosta.com/2006/02/how-can-i-do-custom-grouping.html"&gt;
grouping with ItemsControl&lt;/a&gt;. Very cool.)&lt;/p&gt;
&lt;p&gt;Have you been reading about 
&lt;a href="http://msdn.microsoft.com/windowsvista/building/infocard/default.aspx"&gt;
InfoCard&lt;/a&gt;? You should be. &lt;a href="http://www.identityblog.com/"&gt;Kim&lt;/a&gt; is 
your man. Check out &lt;a href="http://www.identityblog.com/"&gt;his blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On a personal note, I've been having fun updating the
&lt;a HREF="/okoboji/archive/2006/01/19/515081.aspx"&gt;
Bag-O-Tricks&lt;/a&gt; for our next public release. I stayed up late on Valentines Day 
hacking away as a Valentines gift to you, my loyal readers. I've added some new 
things that I've been asked about. I've also put all of the controls in an 
external library which includes default styles. This is for control authors that 
want to ship a control with its template in a single library.&lt;/p&gt;
&lt;p&gt;Also, the team that built the WPF ListView has a bunch of samples that they 
should be posting very soon. People have been asking about a TreeView with 
columns. Let's just say the power of WPF composition will blow you away.&lt;/p&gt;
&lt;p&gt;Stay tuned.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=533057" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Random/default.aspx">Random</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Longhorn/default.aspx">Longhorn</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Avalon/default.aspx">Avalon</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>MSDN TV: The Power of Templates in Windows Presentation Foundation</title><link>http://blogs.msdn.com/okoboji/archive/2006/02/02/msdn-tv-the-power-of-templates-in-windows-presentation-foundation.aspx</link><pubDate>Fri, 03 Feb 2006 03:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:523681</guid><dc:creator>okoboji</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/523681.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=523681</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://notstatic.com/" mce_href="http://notstatic.com/"&gt;Robert&lt;/a&gt; and I just got posted to MSDN TV. We do a talk on the Power of Templates in Windows Presentation Foundation.&lt;/p&gt;

&lt;p&gt;If you want to look at my sample (the folder picker), just download my &lt;a href="http://blogs.msdn.com/okoboji/archive/2006/01/19/515081.aspx" mce_href="http://blogs.msdn.com/okoboji/archive/2006/01/19/515081.aspx"&gt;Bag-o-Tricks&lt;/a&gt;. It's one of the samples in there.&lt;/p&gt;

&lt;p&gt;If you want to download &lt;a href="http://notstatic.com/" mce_href="http://notstatic.com/"&gt;Robby's&lt;/a&gt; sample, please be patient. He's at home taking care of a new baby. I think he's in the office next week.&lt;/p&gt;

&lt;p&gt;Link to the video: &lt;a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060202WPFKM/manifest.xml" mce_href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060202WPFKM/manifest.xml"&gt;http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060202WPFKM/manifest.xml&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Link to the transcript (because some people think I talk fast): &lt;a href="http://msdn.microsoft.com/msdntv/transcripts/20060202WPFKMTranscript.aspx" mce_href="http://msdn.microsoft.com/msdntv/transcripts/20060202WPFKMTranscript.aspx"&gt;http://msdn.microsoft.com/msdntv/transcripts/20060202WPFKMTranscript.aspx&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=523681" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Avalon/default.aspx">Avalon</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>Read Bea's Blog</title><link>http://blogs.msdn.com/okoboji/archive/2006/01/26/518149.aspx</link><pubDate>Fri, 27 Jan 2006 05:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:518149</guid><dc:creator>okoboji</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/518149.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=518149</wfw:commentRss><description>&lt;P&gt;I think at some point I mentioned I've moved over to work on Data Binding in WPF.&lt;/P&gt;
&lt;P&gt;Binding is a thick, but powerful subject in WPF.&lt;/P&gt;
&lt;P&gt;One of the testers on my team is blogging (and she's hiding outside MSDN blogs).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.beacosta.com/"&gt;Beatriz&lt;/A&gt; is amazing to work with. Her &lt;A href="http://www.beacosta.com/"&gt;blog&lt;/A&gt; is also very helpful.&lt;/P&gt;
&lt;P&gt;Send her a message asking her to blog more about the fun that is data in WPF. Tell her Kevin said so.&lt;/P&gt;
&lt;P&gt;(As soon as I get back from Whistler, I'll update the bag-o-tricks with MapPanel and ColorPicker.)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=518149" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Avalon/default.aspx">Avalon</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>An update to the WinFX Bag-O-Tricks for the January CTP</title><link>http://blogs.msdn.com/okoboji/archive/2006/01/19/an-update-to-the-winfx-bag-o-tricks-for-the-january-ctp.aspx</link><pubDate>Fri, 20 Jan 2006 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:515081</guid><dc:creator>okoboji</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/515081.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=515081</wfw:commentRss><description>&lt;p&gt;As you may already know, there aren't really any changes to Windows Presentation Foundation (WPF) in the &lt;a href="http://msdn.microsoft.com/windowsvista/getthebeta/default.aspx" mce_href="http://msdn.microsoft.com/windowsvista/getthebeta/default.aspx"&gt;January CTP&lt;/a&gt;. I have noticed some updates to the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5A0AE4CD-DC79-4B12-8A05-B6195F89FFA2&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5A0AE4CD-DC79-4B12-8A05-B6195F89FFA2&amp;amp;displaylang=en"&gt;VS extensions for Visual Studio&lt;/a&gt;, so you may want to update your bits anyway.&lt;/p&gt;

&lt;p&gt;I received a bunch of &lt;a href="http://blogs.msdn.com/okoboji/archive/2005/12/30/508320.aspx" mce_href="http://blogs.msdn.com/okoboji/archive/2005/12/30/508320.aspx"&gt;suggestions for samples&lt;/a&gt;, but nothing that really inspired me. One request of note: someone asked for a TextBox/RichTextBox that supports spell checking. Good news: this is already a planned feature that will be available in an upcoming CTP. Stay tuned.&lt;/p&gt;

&lt;p&gt;I thought I would use the new CTP as an excuse to add a couple of samples to my &lt;a href="http://j832.com/bagotricks/" mce_href="http://j832.com/bagotricks/"&gt;Bag-O-Tricks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;font size="+1"&gt;&lt;b&gt;InfoTextBox&lt;/b&gt;&lt;/font&gt;&lt;br&gt;Just a simple extension of TextBox. I love the use of subtle animations.&lt;/p&gt;

&lt;p&gt;&lt;font size="+1"&gt;&lt;b&gt;RadioButtonList&lt;/b&gt;&lt;/font&gt;&lt;br&gt;Where is the RadioButtonList? Right here! The power of control styles and templates.&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=515081" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Avalon/default.aspx">Avalon</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>Windows Live Messenger Beta Invite for WPF Sample Suggestion: wanna trade?</title><link>http://blogs.msdn.com/okoboji/archive/2005/12/30/508320.aspx</link><pubDate>Sat, 31 Dec 2005 02:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:508320</guid><dc:creator>okoboji</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/508320.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=508320</wfw:commentRss><description>&lt;P&gt;I have one &lt;A href="http://spaces.msn.com/members/MessengerSays/"&gt;Messenger Beta&lt;/A&gt; invite to give out&amp;nbsp;and I'm always looking for WPF sample suggestions. So...&lt;/P&gt;
&lt;P&gt;I have no strict criteria. The first suggestion that makes me think "hmm, that looks interesting" wins. Tips: if it's trivially simple or insanely complicated, you probably won't get it. Take a look at the samples I've already&amp;nbsp;posted as examples. I'd love to see an example of a useful control that isn't "in the box".&lt;/P&gt;
&lt;P&gt;Send me the passport/messenger/hotmail address that you want to use. (This will be the *only* address you can sign-in to the beta with.)&lt;/P&gt;
&lt;P&gt;I reserve the right to share all entries with people on my team or the public at large.&lt;/P&gt;
&lt;P&gt;Use the &lt;a href="http://blogs.msdn.com/okoboji/contact.aspx"&gt;Contact&lt;/A&gt; link, not comments (unless you want everyone in the world to know your email address.)&lt;/P&gt;
&lt;P&gt;Winner will be notified via email. Everyone else: please don't send me a "did you pick someone yet?" email. I'll update this post when we have a winner.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=508320" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Avalon/default.aspx">Avalon</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item><item><title>A WinFX Bag-O-Tricks</title><link>http://blogs.msdn.com/okoboji/archive/2005/12/22/a-winfx-bag-o-tricks.aspx</link><pubDate>Fri, 23 Dec 2005 05:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:506955</guid><dc:creator>okoboji</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/okoboji/comments/506955.aspx</comments><wfw:commentRss>http://blogs.msdn.com/okoboji/commentrss.aspx?PostID=506955</wfw:commentRss><description>&lt;p&gt;It's been pretty quiet around the office this week. I've had a chance to do some updating and clean-up on a bunch of samples that I've created over the last several months.&lt;/p&gt;
&lt;p&gt;I've decided to roll up all of my samples into one application. This will make it much easier to roll changes forward as we make new releases of WinFX availible.&lt;/p&gt;
&lt;p&gt;I have a few new tricks up my sleeve. Hopefully I'll&amp;nbsp;get to those next week.&lt;/p&gt;



&lt;p&gt;&lt;font size="+1"&gt;&lt;b&gt;Hex&lt;/b&gt;&lt;/font&gt;&lt;br&gt;My second game.&lt;br&gt;&lt;font size="+1"&gt;&lt;b&gt;Mine Sweeper&lt;/b&gt;&lt;/font&gt;&lt;br&gt;My first game.&lt;br&gt;&lt;font size="+1"&gt;&lt;b&gt;XAML T-Shirt&lt;/b&gt;&lt;/font&gt;&lt;br&gt;This sample is super simple, but that's the point. It's just a styled HeaderedContentControl.&lt;br&gt;&lt;font size="+1"&gt;&lt;b&gt;Animating Tile Panel&lt;/b&gt;&lt;/font&gt;&lt;br&gt;A cool demonstration of a custom Panel and CompositionTargets.Rendering&lt;br&gt;&lt;font size="+1"&gt;&lt;b&gt;Folder Picker&lt;/b&gt;&lt;/font&gt;&lt;br&gt;Showing off DataTemplates, INotifyPropertyChanged, and lots of Binding.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=506955" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/okoboji/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/Avalon/default.aspx">Avalon</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/okoboji/archive/tags/WinFX/default.aspx">WinFX</category></item></channel></rss>