Logo
PREGNANCY
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
 
 
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
- Administering an Exchange Server 2013 Environment (part 4) - Performing Common Tasks - Creating User Mailboxes
- Microsoft Project 2010 : Linking Tasks (part 7) - Creating Links by Using the Mouse,Working with Automatic Linking Options
- Windows Server 2008 R2 high-availability and recovery features : Planning for Backups and Disaster Recovery
- Windows Server 2003 : Protecting Hosts with Windows Host Firewalls - Routing and Remote Access Basic Firewall
- Developing Disk Images : Manually Preparing Images, Customizing BDD 2007
- Microsoft Lync Server 2013 : Deploying Lync Online - Adding Domains to Lync Online
- Microsoft Excel 2010 : Protecting and Securing a Workbook - Setting Macro Security Options
- Microsoft SharePoint 2013 : Looking at Visio Services (part 2) - Adding a Visio Web Access Web Part to a page
- Windows Server 2012 Requirements and Installation : Switching Between Install Modes
- SQL Server 2008 R2 : Advantages of Stored Procedures, Creating Stored Procedures
Top 10
- Windows Server 2012 : Configuring IPsec (part 7) - Configuring connection security rules - Monitoring IPsec
- Windows Server 2012 : Configuring IPsec (part 6) - Configuring connection security rules - Creating a custom rule, Configuring authenticated bypass
- Windows Server 2012 : Configuring IPsec (part 5) - Configuring connection security rules - Creating an authentication exemption rule, Creating a server-to-server rule, Creating a tunnel rule
- Windows Server 2012 : Configuring IPsec (part 4) - Configuring connection security rules - Types of connection security rules, Creating an isolation rule
- Windows Server 2012 : Configuring IPsec (part 3) - Configuring IPsec settings - Customizing IPsec tunnel authorizations, Configuring IPsec settings using Windows PowerShell
- Windows Server 2012 : Configuring IPsec (part 2) - Configuring IPsec settings - Customizing IPsec defaults
- Windows Server 2012 : Configuring IPsec (part 1) - Understanding connection security
- Microsoft Project 2010 : Linking Tasks (part 8) - Auditing Task Links,Using the Task Inspector
- Microsoft Project 2010 : Linking Tasks (part 7) - Creating Links by Using the Mouse,Working with Automatic Linking Options
- Microsoft Project 2010 : Linking Tasks (part 6) - Creating Links by Using the Entry Table
 
 
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
2015 Camaro