A lot of applications on Windows Phone have started using subtle background images rather than the standard black or white background. A lot of these applications exhibit flickering or blanking when navigating between pages which can detract from the applications aesthetics .

The below code samples will eliminate this flickering, leaving a subtle persistent (and consistent) background image on every page of your application.

Windows Phone 8/Windows Phone 8.1 Silverlight

Replace the code creating the initial PhoneApplicationFrame in the InitializePhoneApplication() method of you app.xaml.cs with the following (replacing the location of the image asset as appropriate).

RootFrame = new PhoneApplicationFrame
 { 
   Background = new ImageBrush()  
   {
      ImageSource = new BitmapImage(new Uri("/Assets/Background.png", UriKind.Relative)),
      Opacity = 0.3,
      Stretch = System.Windows.Media.Stretch.None,
      AlignmentX = AlignmentX.Center,
      AlignmentY = AlignmentY.Center
    }
 };

Windows Phone 8.1 Universal/Windows 8.1

Replace the code creating the initial Frame in the OnLaunched() method of you app.xaml.cs with the following (replacing the location of the image asset as appropriate).

rootFrame = new Frame
{
       Background = new ImageBrush()
      {
             ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Background.png", UriKind.Absolute)),
             Stretch = Stretch.None,
             Opacity=0.3,
             AlignmentX = AlignmentX.Center,
             AlignmentY = AlignmentY.Center
      }
};

And that's it, a persistent background image through your application without affecting animations/transitions or exhibiting blanking.