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:
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
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 😛 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
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.
Any chance of posting the code for the form as we could learn a lot from the templating and styling used?
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
Good one…. You got me here……
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#
Nice piece of Silverlight Doc. 🙂
Has anyone ever clicked the “Close” button on the image in the ICIQ test? It’s pretty funny! 😀
Very neat quiz.. lot of learning.. wish could lay my hands on the code to play around with it
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 🙂
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. 😉
28 items out of 30. Holy crap Dr WPF, that’s a fun test.
Well done, Pete! Which two did you miss? The trick ones (for which no one could possibly be certain without seeing the code)?
Indeed – I missed the trick ones, and I thought I’d done so well. I thought I’d got them all. Great test though.
30 out of 30 🙂
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.
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