New developer
New developer

Reputation: 153

Is it possible to navigate to pivot control page by a button clicked event

I'm trying to create a wp7 pivot control application. On click of a button in the first page, I would like to navigate to another page which is already a pivot page. Is it possible ?

Upvotes: 8

Views: 13829

Answers (6)

Michal Ingr
Michal Ingr

Reputation: 1

If you have dynamically create pivot items, you can use this easy code:

// This find object named as customName
object pvtItm = pivotName.FindName("customName");

// If this object has type of PivotItem, navigate to it
if (pvtItm is PivotItem)
{
    pivotName.SelectedItem = pvtItm;
}

Upvotes: 0

Kuthay Gumus
Kuthay Gumus

Reputation: 764

NavigationService.Navigate(new Uri("MainPage.xaml?PivotMain.SelectedIndex = 0", UriKind.Relative));

index goes 0-1-2-3 ... write which one you want to navigate.

Upvotes: 0

sk1tz0
sk1tz0

Reputation: 61

do it like this

NavigationService.Navigate(new Uri("/Pages/Page.xaml?PivotMain.SelectedIndex = 0", UriKind.Relative));

SelectedIndex can be whatever depending how many pivot items you have

Upvotes: 6

William Melani
William Melani

Reputation: 4268

Sounds like you want the second piece of code. If your Pivot has 2 items, (say item1, item2), then to navigate to item2 from item1, you would use:

MyPivot.SelectedIndex = IndexOfPageToGoTo;

Check out this quick example that demonstrates it .

http://dl.dropbox.com/u/129101/WindowsPhonePivotApplication1.zip

That said, this isn't recommended if you're using it for a "Wizard" style application. See http://timheuer.com/blog/archive/2010/08/13/windows-phone-panorama-versus-pivot-ux-guidelines.aspx

Upvotes: 2

Jari
Jari

Reputation: 2152

If you have for example following definition for the Pivot control:

 <controls:Pivot x:Name="SettingsPivot" Title="settings">
   <controls:PivotItem x:Name="GeneralSettings" Header="general settings">
     <!-- Pivot Item content -->
   </controls:PivotItem>
   <controls:PivotItem x:Name="ConnectivitySettings" Header="connectivity settings">
     <!-- Pivot Item content -->
   </controls:PivotItem>
   <controls:PivotItem x:Name="OtherSettings" Header="other settings">
     <!-- Pivot Item content -->
   </controls:PivotItem>
 </controls:Pivot>

Then you can go to for example OtherSettings using this code in the button click event handler:

SettingsPivot.SelectedItem = OtherSettings;

Upvotes: 34

andersra
andersra

Reputation: 1135

Here is how you can navigate to another page, it does not matter if it is a pivot page or not:

NavigationService.Navigate(new Uri("/SettingsPivot.xaml", UriKind.Relative));

If you are trying to navigate to another pivotitem then you will need to do the following

int i=1; //This is the index of the pivotitem you would like to navigate to

PivotMenuName.SelectedIndex = i;

Upvotes: 3

Related Questions