Off late I've been working on a Windows Phone 7 application.  This is about  some of  the key issues.

With Windows Phone 7 (WP7) application is different from Windows Desktop (.NET-Windows Forms) and from Windows Embedded (Compact Framework-Forms).

A Windows Phone 7 application is an XAML (The UI) Silverlight application. Whilst .NET libraries are available thy aare a subset of that which is available on the desktop... Not in a CF miondset though.

You develop the UI in XAML then implement the backend (in C#).

A key thing to undrstand with eth XAML pages is the notion of a stack. When you access a page the previous page and its values are pushed onto a stack. When you go back the previous page is popped off the stack (and the current page and its values are lost (unless you preserve them). This a little different to Windows Forms ( and teh CF forms) where you tend to preserve pages. Unless you specifically code it, each XAML page is (new) instanced when it is called.

An application starts by loading the main XAML page. When a page is accessed you can differentiate between when you first access (new),  when you go back to etc. When a page is called you can pass parameters o it via  a query string. I also use a gobal data structure for this and and make some page properties public and static so they can be ste from anywhere.

There is no application exit. Typically you just navigate bacj from teh main page.

Database access is quite different to the Compact Framework (CF). The ADO library is not directly available. You can use Compact SQL 3.5 though, just diffrenetly. SQLite is to be available for Phone 8 and should work with Phone 7.  In a recent aopplication, I found it easiest to use XML documents as the  (largely readonly) database.

Windows Phone 7 has restrictive policy of limiting third party applications (read non MS). For example File.Exists() doesn't work (for finding is a file exists). The way to do this is to attempt to open the file in a try catch and in the catch implement the actions for if the file doesn't exist.

Windows Phone 7 uses IsolatedStorage.  This is where an appliacation will store its data. Thre is also the application resources. You can't simply move files to and from your phone like with previous Windows phones.