WPF FAQ - Navigation

Find answers for the most frequently asked questions
Expand All Collapse All

In most of the web based applications, there is a need to pass data between pages in order to perform specific tasks. Data can be passed between pages in the NavigationWindow using the overloads of the ‘Navigate()’ method in the ‘NavigationService’ class.

The following code snippet is used to pass data from one page to another.

[C#]

mypage newpage = new mypage();
window1.NavigationService.Navigate(newpage, empid);

For this to work, mypage class should contain a constructor defined as follows.

[C#]

public mypage(string empid)
{
	getempprofile(empid);
}
Permalink

Back and Forward button click can be handled using the ‘CommandBindings’ property of the ‘NavigationWindows’ class.

The following code snippet is used to handle the ’Back’ button click in a NavigationWindow.

[C#]

//after InitializeComponent()
navwindow1.CommandBindings.Add(new CommandBinding(NavigationCommands.BrowseForward, OnBrowseForward));

void OnBrowseBack(object sender, ExecutedRoutedEventArgs args)
{
MessageBox.Show('Back Button is Clicked');
}

Permalink

NavigationWindow is a window with the ability to navigate between pages. NavigationWindow is one of the navigators in WPF, the other being the Frame. A navigator is the one which supports navigation and navigation history. The highlight of a NavigationWindow is that it can have it’s content as any of the .NET Framework 3.0 objects or HTML contents. ‘Source’ property of the NavigationWindow can be used to set the content of the NavigationWindow.

[XAML]

<NavigationWindow x:Class='SampleTest.Window1'
    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    Name='window1'
    Height='300' Width='300' Source='http://www.google.com'>

Permalink

Share with

Couldn't find the FAQs you're looking for?

Please submit your question and answer.