MOBILE

Windows Phone 7 Development : Using a WebBrowser Control to Display Local HTML Content

2/5/2011 5:08:03 PM
Frequently, you will want to include documentation with your application to advertise its features to users and answer their most common questions. Because of its simplicity and ubiquity, HTML, the same language used to create web pages, has become the default format for such documentation. In this section, you'll create a simple HTML page describing how to work with the car photo application that you created in the previous section. Follow these steps to create and show HTML content on Windows Phone 7.
  1. Because adding an HTML file is not an option on Windows Phone 7, you will need to add a new XML file to the project. XML files support automated syntax verification features, making it harder for you to make accidental mistakes. Right-click the WebBrowserSample project in the Solution Explorer and select Add => New Item. Then, select XML File from the list of available item types.

  2. Type the following in the newly created file (you can also copy and paste this code from the files available for download for this book).

    <html>
    <title>Web Browser Help File</title>
    <body>
    <h1>Welcome to the Windows Phone 7 Car Browser Application!
    To view the car photos, type the name of the car in the textbox and press "Show It!"
    <br/><br/>For example, "Ford Mustang"</h1>
    </body>
    </html>


  3. Save the file by pressing the Save button in Visual Studio. Next, right-click XMLFile1.xml in the Solution Explorer and click Rename. Change the name of that file to Help.htm and make sure that the Build action for that file is set to "Content" (by right-clicking and selecting Properties to bring up the Properties window).

  4. While you would expect the Help.htm file to be automatically available to the application running on Windows Phone 7, it isn't. Before it is available to your application, the Help.htm file created in the previous step needs to be available to your application in the Isolated Storage, which you can think of as disk space reserved for use by your application on Windows Phone 7. As your application loads, you'll need to copy Help.htm to an Isolated Storage location first, and then retrieve it from there for display by the WebBrowser control. For the time being, simply add the following using directives to the top of the code page and then copy into your code the SaveHelpFileToIsoStore method shown in Listing 1.

    using System.IO.IsolatedStorage;
    using System.Windows.Resources;
    using System.IO;

    Listing 1. SaveHelpFiletoIsoStore Method
    private void SaveHelpFileToIsoStore()
    {
    string strFileName = "Help.htm";
    IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();

    //remove the file if exists to allow each run to independently write to
    // the Isolated Storage
    if (isoStore.FileExists(strFileName) == true)
    {
    isoStore.DeleteFile(strFileName);
    }
    StreamResourceInfo sr = Application.GetResourceStream(new Uri(strFileName,
    UriKind.Relative));
    using (BinaryReader br = new BinaryReader(sr.Stream))
    {
    byte[] data = br.ReadBytes((int)sr.Stream.Length);
    //save file to Isolated Storage
    using (BinaryWriter bw = new BinaryWriter(isoStore.CreateFile(strFileName)))
    {


    bw.Write(data);
    bw.Close();
    }
    }
    }

  5. Finally, you will invoke the SaveHelpFileToIsoStore method you wrote earlier to display the contents of Help.htm in the web browser when the browser first loads. Add the call to SaveHelpFileToIsoStore in the webBrowser1_Loaded method and set the webBrowser URL to navigate to the Help.htm file, as shown here:

    void webBrowser1_Loaded(object sender, RoutedEventArgs e)
    {
    SaveHelpFileToIsoStore();
    webBrowser1.Navigate(new Uri("Help.htm", UriKind.Relative));
    }

  6. Press F5 to run the application. You should see the simple HTML Help page displayed in the WebBrowser control.

Other  
 
Most View
ASRock Z77 Extreme11 Mainboard - An LGA 1155 Mainboard For Users That Use Multiple Drives (Part 5)
Best Brands In Electronic World (Part 1)
Xperia Z Review - The Sony DryPhone
Corsair Carbide 200R And Thermaltake Chaser A41 - Affordable Cases Of Game Systems (Part 2)
Tips And Tricks To Set You Apart From The Tech Crowd (Part 2)
Ditch Your Laptop For Your Phone (Part 1)
Samyang 85mm f1.4 Telephoto Lens Review (Part 1)
Wacom Cintiq 24HD Touch - Pen-Enabled Display Plus Multi-Touch Gestures (Part 1)
How To Import Images
Sharepoint 2013 : Farm Management - Display Available Timer Jobs on the Farm, Get a Specific Timer Job, Enable a Timer Job
REVIEW
- First look: Apple Watch

- 10 Amazing Tools You Should Be Using with Dropbox
VIDEO TUTORIAL
- How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010 (Part 1)

- How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010 (Part 2)

- How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010 (Part 3)
Popular Tags
Microsoft Access Microsoft Excel Microsoft OneNote Microsoft PowerPoint Microsoft Project Microsoft Visio Microsoft Word Active Directory Biztalk Exchange Server Microsoft LynC Server Microsoft Dynamic Sharepoint Sql Server Windows Server 2008 Windows Server 2012 Windows 7 Windows 8 Adobe Indesign Adobe Flash Professional Dreamweaver Adobe Illustrator Adobe After Effects Adobe Photoshop Adobe Fireworks Adobe Flash Catalyst Corel Painter X CorelDRAW X5 CorelDraw 10 QuarkXPress 8 windows Phone 7 windows Phone 8 BlackBerry Android Ipad Iphone iOS
Top 10
10 Amazing Tools You Should Be Using with Dropbox
C# 2010 and the .NET 4 Platform : Understanding the ASP.NET Profile API (part 4) - Grouping Profile Data and Persisting Custom Objects
C# 2010 and the .NET 4 Platform : Understanding the ASP.NET Profile API (part 3) - Accessing Profile Data Programmatically
C# 2010 and the .NET 4 Platform : Understanding the ASP.NET Profile API (part 2) - Defining a User Profile Within Web.config
C# 2010 and the .NET 4 Platform : Understanding the ASP.NET Profile API (part 1) - The ASPNETDB.mdf Database
C# 2010 and the .NET 4 Platform : The Role of the sessionState Element - Storing Session Data in the ASP.NET Session State Server, Storing Session Data in a Dedicated Database
C# 2010 and the .NET 4 Platform : ASP.NET State Management Techniques - Understanding Cookies
BMW 220i CONVERTIBLE :Blend of poise and power
VOLKSWAGEN JETTA 1.4 HIGHLINE : A Volkswagen for mass market
PEUGEOT 508 : Plush Peugeot