Con risposta Pin To Start Pivot Item

  • 11 Maret 2012 15:56
     
      Memiliki Kode
    Hai, saya sedang membuat aplikasi di windows phone menggunakan pivot. Setiap isi dalam setiap pivot item itu berbeda, agar lebih mudah untuk mengakses isi dari setiap pivot item maka dipin lah setiap pivot item ke dalam start screen, yang saya tanyakan disini bagaimana caranya agar setiap pivot item dapat di pin ke dalam start screen ?

    saya mencoba kode dibawah ini, namun ini tidak bekerja seperti seharusnya :

    <Button x:Name="pintoStart" Margin="20,00,0,0" Height="80" Click="pinToStart_Clicked" Content="Pin To Start" />


    private void pinToStart_Clicked(object sender, RoutedEventArgs e)
    {
       StandardTileData standardTileData = new StandardTileData();
       standardTileData.BackgroundImage = null;
       standardTileData.Title = "Pinned by button";
       standardTileData.Count = 26;
       standardTileData.BackTitle = "Pinned";
       standardTileData.BackContent = "Secondary Tile";
       standardTileData.BackBackgroundImage = null;
       ShellTile tiletopin = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("MainPage.xaml"));
       if (tiletopin == null)
       {
          ShellTile.Create(new Uri("/MainPage.xaml", UriKind.Relative), standardTileData);
       }
       else
       {
          MessageBox.Show("Already Pinned");
       }
    }

    Terima kasih sebelumya, mohon bantuannya :D

    lank

Semua Balasan

  • 16 Maret 2012 9:31
    Moderator
     
     Jawab
      

    Halo Ilham Lank,

    Terima kasih atas partisipasi anda dalam forum MSDN Indonesia!

    Anda dapat menggunakan PivotItem yang dipilih saat ini sebagai parameter saat membuat Tile baru dan dalam metode OnNavigatedTo pada MainPage coba periksa parameter Url dan tentukan PivotItem mana harus dipilih.

    Untuk rincian lengkap, lihat kode di bawah ini:

            protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)

            {

                base.OnNavigatedTo(e);

                if (this.NavigationContext.QueryString.ContainsKey("Param"))

                {

                    string param = this.NavigationContext.QueryString["Param"];//Find "Param" this QueryString

                    pivot.SelectedIndex = int.Parse(param); //pivot is the PivotControl’s Name

                }

            }

            private void button1_Click(object sender, RoutedEventArgs e)

            {

                StandardTileData standardTileData = new StandardTileData();

                standardTileData.BackgroundImage = null;

                standardTileData.Title = "Pinned by button";

                standardTileData.Count = 26;

                standardTileData.BackTitle = "Pinned";

                standardTileData.BackContent = "Secondary Tile";

                standardTileData.BackBackgroundImage = null;

                ShellTile tiletopin = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("MainPage.xaml"));

                if (tiletopin == null)

                {

                    ShellTile.Create(new Uri("/MainPage.xaml?Param="+pivot.SelectedIndex, UriKind.Relative), standardTileData);

                }

                else

                {

                    MessageBox.Show("Already Pinned");

                }

            }


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.