Logo
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
EPL Standings
 
 
Windows Phone

Windows Phone 8 : Designing for the Phone - Implementing the Look and Feel of the Phone

5/14/2013 6:07:03 PM

You’ve seen that building an application that works well on the phone requires you to understand the nature of how applications are used on phones. Driving this change in how you design the interaction with your applications doesn’t have to be that difficult. The Windows Phone platform can help you with built-in resources for many of the user interface elements. These resources are called system resources (also known as theme resources)

The system resources can change to accommodate different-sized screens and themes on the phone. For example, a newly created Windows Phone application contains use of these system resources by default:

<phone:PhoneApplicationPage ...
  FontFamily="{StaticResource PhoneFontFamilyNormal}"
  FontSize="{StaticResource PhoneFontSizeNormal}"
  Foreground="{StaticResource PhoneForegroundBrush}"
  ...>
  <Grid x:Name="LayoutRoot"
        Background="Transparent">
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <StackPanel x:Name="TitlePanel"
                Grid.Row="0"
                Margin="12,17,0,28">
      <TextBlock Text="MY APPLICATION"
                 Style="{StaticResource PhoneTextNormalStyle}"
                 Margin="12,0" />
      <TextBlock Text="page name"
                 Margin="9,-7,0,0"
                 Style="{StaticResource PhoneTextTitle1Style}" />
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel"
          Grid.Row="1"
          Margin="12,0,12,0">

    </Grid>
  </Grid>
</phone:PhoneApplicationPage>

The system resources are part of the core framework and are not contained as code you would include in your project directly. These system resources actually change as the user picks the theme on his phone. For example, the PhoneBackgroundColor resource is a dark grey color (almost black) on a typical phone application. But if the user changes to the light theme (black text on white background), the PhoneBackgroundColor becomes white.

There are system resources of various kinds, including the following:

• Colors (for example, PhoneBackgroundColor)

• Brushes (for example, PhoneForegroundBrush)

• Font Faces (for example, PhoneFontFamilyNormal)

• Font Sizes (for example, PhoneFontSizeLarge)

• Thickness (for example, PhoneMargin)

• Text Styles (for example, PhoneTextNormalStyle)

• Theme Visibility (for example, PhoneDarkThemeVisibility)

You can find a complete list of the system resources in the documentation:

http://shawnw.me/wptheming

To use the system resources, you can use either Blend or Visual Studio. In both cases you can simply select the resource instead of using fixed values (see Figure 1).

Figure 1. Using Theme Resources (for example, System Resources)

Image

By clicking the small square next to a value, an option for System Resource displays that will show you the valid system resources that match the data-type you have selected. In Figure 1, the margin was selected and therefore the system resources available are all in the “thickness” category.

One system resource you should get comfortable working with is the PhoneAccentBrush. This particular system resource replaces the brush with the selected accent brush the user has chosen for the phone. In general, you should defer to use the PhoneAccentBrush anywhere you want to show a selection (instead of relying on bolding or a custom color).


System Resources Best Practices

In general, you should always use a system resource when one is available. By using the system resource for resource types such as thickness and font sizing, you can be sure that your application will adhere to the Windows Phone style guide. You can certainly use your own judgement when using the system resources or not, but by deviating, you’ll have to handle the different themes and phone sizes manually.

Other -----------------
- Windows Phone 8 : Designing for the Phone - Designing with Visual Studio
- Windows Phone 7 : 3D Game Development (part 4) - Rendering 3D Models
- Windows Phone 7 : 3D Game Development (part 3) - The Game Class
- Windows Phone 7 : 3D Game Development (part 2) - Rendering 3D Primitives
- Windows Phone 7 : 3D Game Development (part 1) - 3D Game Concepts
- Windows Phone 8 : Phone-Specific Design (part 3) - Using the Pivot Control in Blend
- Windows Phone 8 : Phone-Specific Design (part 2) - Using the Panorama Control in Blend
- Windows Phone 8 : Phone-Specific Design (part 1) - The ApplicationBar in Blend
- Windows Phone 7 : AlienShooter Enhancements (part 2) - Tombstone Support, Particle System
- Windows Phone 7 : AlienShooter Enhancements (part 1) - Load and Save Game State
- Windows Phone 7 Programming Model : Application Execution Model
- Windows Phone 7 Programming Model : Bing Maps Control
- Windows Phone 8 : Designing for the Phone - Blend Basics (part 4) - Working with Behaviors
- Windows Phone 8 : Designing for the Phone - Blend Basics (part 3) - Creating Animations
- Windows Phone 8 : Designing for the Phone - Blend Basics (part 2) - Brushes
- Windows Phone 8 : Designing for the Phone - Blend Basics (part 1) - Layout
- Windows Phone 8 : Designing for the Phone - Microsoft Expression Blend
- Windows Phone 7 Programming Model : Asynchronous Programming - Background Threads
- Windows Phone 8 : Designing for the Phone - Deciding on an Application Paradigm
- Windows Phone 8 : Designing for the Phone - The Third Screen
 
 
Most view of day
- Fine-Tuning MDT Deployments : Creating a Linked Deployment Share (part 2) - Maintaining Linked Deployment Shares
- Microsoft OneNote 2010 : Doing Research with Side Notes (part 1) - Creating Side Notes
- Programming Drivers for the User Mode Driver Framework - Driver Dynamic-Link Library and Exports
- Windows Phone 8 : Designing for the Phone - Blend Basics (part 1) - Layout
- Microsoft Excel 2010 : Calculating the Mode (part 4) - Getting the Mode of Categories with a Formula - Using Formula Evaluation
- SharePoint 2013 Request Management (part 2) - Request Management Administration
- Microsoft OneNore 2010 : Opening a Backup Copy of a Notebook Section
- Windows Server 2012 Group Policies and Policy Management : Understanding Group Policy (part 3) - GPO Filtering, Group Policy Loopback Processing
- Sharepoint 2013 : Backup and Restore (part 5) - Farm Backup and Restore - Performing a Backup
- Windows Server 2012 : File Services and Storage - Configuring iSCSI storage (part 1) - Understanding iSCSI storage
Top 10
- Windows Server 2012 : DHCP,IPv6 and IPAM - Exploring DHCP (part 3) - Creating IPv4 DHCP Scopes
- Windows Server 2012 : DHCP,IPv6 and IPAM - Exploring DHCP (part 2) - Installing DHCP Server and Server Tools
- Windows Server 2012 : DHCP,IPv6 and IPAM - Exploring DHCP (part 1)
- Windows Server 2012 : DHCP,IPv6 and IPAM - Understanding the Components of an Enterprise Network
- Microsoft OneNote 2010 : Using the Research and Translate Tools (part 3) - Translating Text with the Mini Translator
- Microsoft OneNote 2010 : Using the Research and Translate Tools (part 2) - Translating a Word or Phrase with the Research Pane
- Microsoft OneNote 2010 : Using the Research and Translate Tools (part 1) - Setting Options for the Research Task Pane, Searching with the Research Task Pane
- Microsoft OneNote 2010 : Doing Research with Linked Notes (part 2) - Ending a Linked Notes Session, Viewing Linked Notes
- Microsoft OneNote 2010 : Doing Research with Linked Notes (part 1) - Beginning a Linked Notes Session
- Microsoft OneNote 2010 : Doing Research with Side Notes (part 3) - Moving Side Notes to Your Existing Notes
 
 
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
2015 Camaro