Logo
CAR REVIEW
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
PREGNANCY
 
 
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
- Extending Dynamics GP with Free Software : Checking Dynamics GP spelling with Willoware
- Windows Server 2008 R2 high-availability and recovery features : Installing and Administering Failover Clustering (part 2) - Adding Failover Clustering feature
- Microsoft Systems Management Server 2003 : Configuring Software Metering (part 2) - Creating a Software Metering Rule
- Adobe After Effects CS5 : Building a 3D object - Working with 3D text
- Windows Server 2012 : Deploying Storage Spaces (part 2) - Understanding Storage Spaces - Fixed vs. thin provisioning
- Windows Phone 8 : Playing Music Through the Phone (part 4) - Playing Music in the Background
- SharePoint 2010 : Configuring Search Settings and the User Interface - Web Parts (part 1)
- Microsoft Excel 2010 : Protecting and Securing a Workbook - Setting External Content Security Options
- Adobe After Effects CS5 : Building a 3D object - Creating a backdrop for 3D animation
- Microsoft Lync Server 2013 : Office 365 and Lync Online - Experiencing Lync Online
Top 10
- Windows Phone 8 : Scheduled Tasks - Scheduled Task API Limitations
- Windows Phone 8 : Scheduled Tasks - Updating Tiles Using a Scheduled Task Agent
- Windows Phone 8 : Scheduled Tasks - To-Do List Scheduled Task Sample (part 5) - Editing an Existing To-Do Item
- Windows Phone 8 : Scheduled Tasks - To-Do List Scheduled Task Sample (part 4) - Creating the To-Do Item Shell Tile, Saving a To-Do Item
- Windows Phone 8 : Scheduled Tasks - To-Do List Scheduled Task Sample (part 3) - Debugging Scheduled Tasks
- Windows Phone 8 : Scheduled Tasks - To-Do List Scheduled Task Sample (part 2) - TodoService, TodoItemViewModel
- Windows Phone 8 : Scheduled Tasks - To-Do List Scheduled Task Sample (part 1) - TodoItem,TodoDataContext
- Windows Phone 8 : Scheduled Tasks - Using Scheduled Tasks
- Windows Phone 8 : Scheduled Tasks - Background Agent Types
- Windows Phone 8 : Windows Phone Toolkit Animated Page Transitions - Reusing the Transition Attached Properties
 
 
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
2015 Camaro