As many of you know, I am one of a group of local developers that is organizing Cleveland Day of .NET, a free one-day developer conference on May 17th. As part of this we wanted a cool way to allow for registrants to select the sessions they want to see from the conference website. Naturally when the words "cool" and "web" are in the same sentence, Silverlight comes to mind. So I built one.
What I came up with is a simple way to view and select sessions for a one-day conference. I hope to expand it to multi-day capable eventually. It marks your selections and also shows them in a list to the side. Eventually I would like to make it easy to print and submit your selections back to the server. None of that is in it yet but still, I think it is kinda cool.
The above image is just a screenshot. The actual one does some neat stuff though, like an animation on mouseover to display more information.
And when you select an item, two things happen: 1) an overlay with "Selected" is placed on the box and; 2) The title is added to the proper place in your schedule list.
In the true nature of Cleveland Day of .NET, I've posted the entire source for this app at CodePlex under the name Conference Session Scheduler. Feel free to join and help me add more features or fix what's there. You can also just download the code and use it as is if you want to, the choice is yours. This is a good project to learn about User Controls, global variables (i.e. singleton object) and loading objects based on XML data.
I'll pass along one tiny piece of code in this post: How to set a Fill color from a string color value in code.
I know the above looks simple but believe me, finding it was anything but easy.
If you have the Silverlight 2 Beta 1 plugin installed you should be able to see the scheduler in action. I won't promise to keep this up to date as we update the code but at least it is as of 4/13.
Ok, so this is already out of date but I promise I'll replace the one in this blog with the real Cleveland Day of .NET schedule when it is posted next weekend.