0

2 つのリンクを含む MainPage を作成しました。どちらも、ユーザーを新しいピボット ページに移動させます。ただし、最初のリンクはピボットの最初のページを開き、2 番目のリンクはピボットの 2 ページ目を開きます。

これまでのところ、次のコードがあります。

メインページ:

NavigationService.Navigate(new Uri("/PivotTester.xaml?goto=" + i, UriKind.Relative));

次に、Pivo​​tTester ページで:

namespace CelticNow
{
public partial class PivotTester : PhoneApplicationPage
{
    PivotTester pivot = new PivotTester();

    public PivotTester()
    {
        InitializeComponent();
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        string strItemIndex;
        if (NavigationContext.QueryString.TryGetValue("goto", out strItemIndex))
            pivot.SelectedIndex = Convert.ToInt32(strItemIndex);

        base.OnNavigatedTo(e);
    }
}
}

PivotTester.SelectedIndex を使用しても機能しないため、「Pivot pivot = new...」を追加しました。

これをどのように機能させるかについて、誰かが解決策を提供できますか? ありがとう。

4

2 に答える 2

2

これは、コードから以下のコード行を削除するのに役立ちます

//Remove if not necessary
protected override void OnNavigatedTo(NavigationEventArgs e)
 {
   string strItemIndex;
    if(NavigationContext.QueryString.Contains("goto"))
    {
      strItemIndex=NavigationContext.QueryString["goto"].ToString();
      pivotControl.SelectedIndex = Convert.ToInt32(strItemIndex);
    }

   base.OnNavigatedTo(e);
  }

編集

xaml に変更を加える

 <Grid x:Name="LayoutRoot" Background="Transparent">
            <!--Pivot Control-->
            <controls:Pivot Title="MY APPLICATION" x:Name="pivotControl">
                <!--Pivot item one-->
                <controls:PivotItem Header="one">
                    <Grid/>
                </controls:PivotItem>
                <!--Pivot item two-->
                <controls:PivotItem Header="two">
                    <Grid/>
                </controls:PivotItem>
            </controls:Pivot>
        </Grid>
于 2014-01-09T09:46:25.667 に答える
0

私はこのコードを使用します: pivot.SelectedItem = x:Name of the pivot item. よく働きます。

于 2014-01-09T09:30:26.193 に答える