You can write for Windows Phone using either Silverlight or XNA. Here are some general guidelines to help with understanding the strengths of each of the two platforms (from the Windows Phone 7 Developer Portal).
|Use Silverlight if…||Use XNA if…|
|You want a XAML based, event driven application framework.||You want a high performance game framework.|
|You want rapid creation of a Rich Internet Application-style user interface.||You want rapid creation of multi-screen 2D and 3D games.|
|You want to use Windows Phone controls.||You want to manage art assets such as models, meshes, sprites, textures, effects, terrains, or animations in the XNA Content Pipeline.|
|You want to play digital media.|
|You want to use an HTML web browser control.|