WP7 Databound Application – Pizza App User Interface Design

Last week, in the introduction to a Windows Phone 7 Databound application, we saw how a databound application works and how to show a collection on the UI.

In this second part, we’ll see how to convert it in to a real world app.

Things we cover

  • Adding new pages
  • Wiring up events
  • Creating a custom panel, the secret behind the toppings selection screen

Before going further, let’s see what we are going to create. Below are the screen-shots of the completed application.

Creating a Custom Panel in Silverlight

Silverlight allows StackPanel and WrapPanel to be used as items panels in a ItemsPanelTemplate, for controls like ListBox where a collection of items are shown.

Sometimes we need to create a custom panel where the out-of-box panels may not full-fill the need. I came across one such situation where I need to show the items layered over one another.

It’s a Windows Phone 7 Pizza application, where user can choose the toppings, which are shown on top of a Pizza as if its a real one.

Continue reading

Introduction to WP7 Databound Application

This tutorial is part of the WP7 Databound Application series.

Read Part II, Creating the Pizza App User Interface (Opens in a new window)

In this tutorial, We will see what a Windows Phone 7 databound application is and how to create one. Specifically, we will create a simple pizza ordering application using a Windows Phone 7 databound project.

What is a databound application?

A databound application generates an application in a Model/View/ViewModel (MVVM) style, with sample data exposed in ViewModel classes. It creates a master view and details view which were bound to respective view models.

Why should I use a databound application?

When you create a databound application, it creates the pages with properly hooked up navigation and basic data usage, this includes both design time and run time data. Which means, you can see how the page looks without the need to run the simulator.

All you have to do is focus on your application logic.

Continue reading