Saturday, July 04, 2009   Search 
Links

 

Disciple
 ItemsControl: 'B' is for Bet You Can't Find Them All! Minimize
Location: BlogsAsk Dr. WPF    
Posted by: Dr. WPF 10/22/2007 2:20 PM

This is Part B in my "ItemsControl: A to Z" series.  Part A served mostly as an introduction to the ItemsControl class (one of the most abundant classes in many WPF applications).  We looked at several common ItemsControl samples involving controls like ListBox, ListView, TreeView, etc.  In this post, we will build on that introduction in what I hope will be a fun challenge and a good learning experience. 

What's your ICIQ?

You will shortly be presented with a small, interactive quiz called "The ItemsControl Intelligence Quotient (ICIQ) Test".  The purpose of "The ICIQ Test" is to see how well you can recognize different ItemsControl instances in a real WPF application.  You will be shown a screenshot of a WPF application that is used internally by the Microsoft Dynamics Team to build and visualize customer models.  (Special thanks to Microsoft for providing me with the image!)

Full Disclosure:  It's Rigged!

Despite the name, "The ICIQ Test" does not really measure intelligence... rather, it measures your observational and deductive reasoning skills regarding the usage of items controls.  And yes, this test is completely unfair!  Even for the seasoned WPF developer, there will be some visuals in the snapshot that could go either way.  You've been warned!

It's Intended to be a Learning Experience

Ultimately, I hope you will approach this as a learning experience.  (Well, unless you happen to get a really high score, in which case you should run around the office gloating about your extremely high ICIQ and immediately demand a raise from your boss!) 

This test should help reinforce some core concepts regarding the lookless nature of WPF controls and the power of templating to present native controls in ways that are visually meaningful.

When you complete the test, you will have an opportunity to further explore the different ItemsControl examples in the application, as shown below: 

Learning Tips

If you are new to WPF, some of the terms like "items host" and "item container" may not make sense yet.  All of these concepts will be covered in detail as this series progresses. 

"Enough already!  Let me take the test!"

Go for it!  Here's your official link to "The ICIQ Test".  I look forward to hearing how unfair it was!!  ;-)

And don't forget to come back for the next installment in this series:  'C' is for Collection.

Cheers,
Dr. WPF

Permalink |  Trackback

Comments (17)   Add Comment
Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Brownie on 10/23/2007 12:19 PM
It's not fair...how were we supposed to know each chevron was an itemscontrol? And yes you got me...each menuitem is technically itself an itemscontrol as well. Oops..I missed the combobox (I know it's an ItemsControl...just didn't notice it sitting there). Whatever man...I'll make an entire ui out of nothing but ItemsControls and see how you fare on my test :P Oops you forgot to click on the ItemsControl styled to look like a textblock. I bound the ItemsSource of my ItemsControl to the results of a String.ToCharArray() call. I'll take Abuse of the Visual Tree for 500, Alex

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Mike Strobel on 10/23/2007 2:14 PM
I somehow didn't see the ComboBox either. I got the individual menu items, but I not the chevrons. I caught 22 total. Not too bad. Nice work on a fun little quiz, Doc.

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Chullybun on 10/24/2007 4:32 PM
Any chance of posting the code for the form as we could learn a lot from the templating and styling used?

Re: Any chance of posting...    By Dr. WPF on 10/24/2007 5:55 PM
Hi Chullybun.

Unfortunately, that code (including the markup) all belongs to Microsoft. They were gracious enough to approve me using the image, but not the code.

We will definitely look at lots of similar items controls throughout this series with plenty of examples to demonstrate how to style and template them.

Cheers,
-dw

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Marlon Grech on 10/27/2007 8:03 AM
Good one.... You got me here......

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Marlon Grech on 10/27/2007 11:14 AM
"And don't forget to come back for the next installment in this series: 'C' is for Collection."

I would call this part as

C is for C#

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By David Kelley on 1/7/2008 2:57 PM
Nice piece of Silverlight Doc. :)

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Mark Bentley on 2/5/2008 5:27 PM
Has anyone ever clicked the "Close" button on the image in the ICIQ test? It's pretty funny! :-D

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Atul Gupta on 2/15/2008 5:34 AM
Very neat quiz.. lot of learning.. wish could lay my hands on the code to play around with it

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Garry McGlennon on 10/21/2008 8:13 PM
Ok, so I wasn't looking for a cheat for this, but I found it anyway... Seems you can just click anything XX times and you become a guru!! (with sound effects even!). The assumption was that a hittest might have been done so you only score when you get one right, but I guess that ended up being too much effort... Still good effort all the same :)

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Dr. WPF on 10/21/2008 8:21 PM
Glad you enjoyed it Garry. Yes, call me lazy... I'll own it! In my defense, I did include in the instructions that "It doesn't matter where you click." So my laziness comes with full disclosure. ;-)

Woo hoo - Items Control Guru    By Pete O'Hanlon on 11/25/2008 5:30 AM
28 items out of 30. Holy crap Dr WPF, that's a fun test.

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Dr. WPF on 11/30/2008 8:23 PM
Well done, Pete! Which two did you miss? The trick ones (for which no one could possibly be certain without seeing the code)?

Missed the trick ones.    By Pete O'Hanlon on 12/18/2008 11:31 AM
Indeed - I missed the trick ones, and I thought I'd done so well. I thought I'd got them all. Great test though.

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Sean on 12/23/2008 6:47 PM
30 out of 30 :-)

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By Keith Brown on 3/18/2009 9:22 AM
Just a note, link doesn't work in Firefox. I thought Silverlight worked on Firefox? Just gives me the 'Install Silverlight' badge... Great content on your site BTW. Still trying to wrap my head around WPF and this is very helpful.

Re: ItemsControl: 'B' is for Bet You Can't Find Them All!    By fcchan on 6/6/2009 4:15 AM
12 out of 30
i felt great after learning about the remaining 18. And if I didn't read about A for abundance i would have learn nothing. Dr W thank you


Your name:
Title:
Comment:
Security Code
Enter the code shown above in the box below
Add Comment   Cancel 

  
Copyright 2009 by Dr. WPF   Terms Of Use  Privacy Statement