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 ?
问题:
回答1:
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;
回答2:
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
回答3:
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;
回答4:
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
回答5:
NavigationService.Navigate(new Uri("MainPage.xaml?PivotMain.SelectedIndex = 0", UriKind.Relative));
index goes 0-1-2-3 ... write which one you want to navigate.
回答6:
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;
}