Dealing with Frames : Opening Webpage in 
Frame application
Hi guys with this article I have come up with an 
interesting and fun to do application created in Expression Blend. Here in this 
article you will learn how to create an application in which a simple combo box 
items are used to open up a webpage in frame contained in the application, also 
the Label tells that Which webpage the frame is going to open.
So here we go through this beautiful 
application. Just follow along the following steps with little and simple 
coding:
Step 1 : First of all create a WPF 
application and name it as Frame browsing. After this you are exposed to a white 
designing window which is called the artboard. This artboard is ready to accept 
controls and designs. so we start by adding tools such as:
- Combobox
- Heading Label
- Label for showing web address
- Frame
Adding these controls to the artboard by 
dragging them from the toolbox.
![itemsadding.gif]()
 
Step 2 : After you add the controls to 
the artboard arrange the tools as shown below. Here Label1 is used for the 
Heading and second label is treated as web address holder while the combo box 
acts as a drop down control for providing list of web pages.
![artboard.gif]()
 
Step 3 : Now add combo box items first, 
this is done by doing right click on the combo box and then go to add combo box 
item. The fig below how is combo box items added here.
![cboxitem.gif]()
 
Step 4 : Next job is naming the combo 
box items. Its again very simple but important task because Whatever name you 
give to the combo box item a webpage related to that page will only be opened so 
be careful while naming the combo box items.
![naming-cboxitem.gif]()
 
Step 5 : Then select a frame from the 
assets library and drag it on the artboard. For this Goto asset library then 
type the name "Frame" in the search box to quickly access the frame control.
![frame-add.gif]()
 
Step 6 : Now double click on the label 
and delete the default name "Label" displayed on the label. similarly remove the 
default names of Frame also.
After this Select the combo box tool through the selection tool and goto the 
Event palette, there find the "Lost Focus" Event and type the name you want to 
give to your application and press Enter.
![cbox.gif]()
 
Step 7 : This opens up the C# coding 
window in front of you,but you need not fear with the coding part. Its very 
simple coding with this application. The code window that opens up looks like 
this.
using 
System;
using 
System.Collections.Generic;
using 
System.Text;
using 
System.Windows;
using 
System.Windows.Controls;
using 
System.Windows.Data;
using 
System.Windows.Documents;
using 
System.Windows.Input;
using 
System.Windows.Media;
using 
System.Windows.Media.Imaging;
using 
System.Windows.Shapes;
using 
System.Windows.Navigation;
namespace 
page_to_page_navigation
{
    ///
<summary>
   
/// 
Interaction logic for frame_window.xaml
    ///
</summary>
 
public
partial
class 
frame_window : Window
  {
      
public 
frame_window()
        {
           
this.InitializeComponent();                 
           
// Insert 
code required on object creation below this point.
        
 }
       
private
void 
cbox1_LostFocus(object 
sender,System.Windows.RoutedEventArgs e)
         {
           
// TODO: Add 
event handler implementation here.
           
          }
   }
}
Step 8 : Name the second label here I 
have named it as "lb1". Now what we intend to do is display the web address 
corresponding to the name of the combobox item for this you have to add this 
line in the method of the name that you typed in the Lost Focus event.
private
void 
cbox1_LostFocus(object 
sender,System.Windows.RoutedEventArgs e)
{
  // 
In this label accepts the name from the combobox item and displays it as a 
complete web address
   
lbl.Content ="www." 
+ cbox1.SelectionBoxItem +".com";
}
Step 9 : Now the next and most important 
job is displaying the entire web content or open the webpage in the frame. For 
this select the comboboxitems one by one from the object and timeline window and 
goto the event palette, there in the GotFocus Event of the combobox item type 
the name you would like to give to this event method and press enter.
![event.gif]()
 
Step 10 : This brings up the coding 
part. here type the following line of code :
private
void 
csharpcorner1(object 
sender, System.Windows.RoutedEventArgs e)
{
   //
Here I 
have named the frame as Frame1 and named the GotFocus event as c-sharpcorner1
   
frame1.Navigate(new 
System.Uri("http://www.c-sharpcorner.com"));
}
Step 11 : Do the same process for all 
the Combobox items.but remember to include the following namespace before 
performing navigation in frame.
using 
System.Windows.Navigation;
Step 12 : The final code appears like 
this 
using 
System;
using 
System.Collections.Generic;
using 
System.Text;
using 
System.Windows;
using 
System.Windows.Controls;
using 
System.Windows.Data;
using 
System.Windows.Documents;
using 
System.Windows.Input;
using 
System.Windows.Media;
using 
System.Windows.Media.Imaging;
using 
System.Windows.Shapes;
using 
System.Windows.Navigation;
namespace 
page_to_page_navigation
{
       
///
<summary>
       
/// 
Interaction logic for frame_window.xaml
       
///
</summary>
       
public
partial
class 
frame_window : Window
          {              
public 
frame_window()
              {
                     
this.InitializeComponent();
                     
// Insert 
code required on object creation below this point.
              }
              
private
void 
cbox1_LostFocus(object 
sender,System.Windows.RoutedEventArgs e)
              {
                     
// TODO: Add 
event handler implementation here.
                     
                     lbl.Content ="www." 
+ cbox1.SelectionBoxItem +".com";
              }
              
private
void 
csharpcorner1(object 
sender, System.Windows.RoutedEventArgs e)
              {                     
// TODO: Add 
event handler implementation here.
                     frame1.Navigate(new 
System.Uri("http://www.c-sharpcorner.com"));
              }
              
private
void 
google1(object 
sender, System.Windows.RoutedEventArgs e)
              {
                     
// TODO: Add 
event handler implementation here.
                     frame1.Navigate(new 
System.Uri("http://www.google.com"))
              }
              
private
void 
yahoo1(object 
sender, System.Windows.RoutedEventArgs e)
              {
                     
// TODO: Add 
event handler implementation here.
                     frame1.Navigate(new 
System.Uri("http://www.yahoo.com"));
              }
              
private
void 
facebook1(object 
sender, System.Windows.RoutedEventArgs e)
              {
                     
// TODO: Add 
event handler implementation here.
                     frame1.Navigate(new 
System.Uri("http://www.facebook.com"));
              }
              
private
void 
msn1(object 
sender, System.Windows.RoutedEventArgs e)
              {
                     
// TODO: Add 
event handler implementation here.
                     frame1.Navigate(new 
System.Uri("http://www.msn.com"))
              }
             
          }
}
Step 13 : The Output is 
as follows :
On selecting combobox item :
 
 
![output4.gif]()
The web address appears on the label as text:
 
![output.gif]()
Finally the resspective webpage is displayed in 
the frame alongside:
![output2.gif]()
Hope you would have enjoyed this application.Do post your comments to let us know your views.