none
Navegação entre Páginas - Frame - XAML / C# RRS feed

  • Pergunta

  • Pessoal estou tentando realizar a navegação entre páginas para uma aplicação universal (Windows 10) porém quando utilizo o método BackButton_Click ele não retorna com o título da página anterior. Qual implementação do método BackButton_Click posso realizar? 

    Segue código atual:

    Estou utilizando um ListBox onde acesso a uma página de acordo com a minha seleção (exemplo: "Food" > "Food.xaml"):

    MainPage.xaml:

    <SplitView Name="MySplitView" 
                       Grid.Row="1"
                       DisplayMode="CompactOverlay"
                       OpenPaneLength="200"
                       CompactPaneLength="56"
                       HorizontalAlignment="Left">
                <SplitView.Pane>
                <ListBox SelectionMode="Single"
                         Name="IconsListBox"
                         SelectionChanged="IconsListBox_SelectionChanged">
                    
                    <ListBoxItem Name="Financial">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock FontFamily="Segoe MDL2 Assets"
                                       FontSize="36"
                                       Text="&#xE80F;"/>
                            <TextBlock Text="Favorites"
                                       FontSize="24"
                                       Margin="20,0,0,0"/>
                        </StackPanel>
                    </ListBoxItem>

                        <ListBoxItem Name="Food">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock FontFamily="Segoe MDL2 Assets"
                                       FontSize="36"
                                       Text="&#xE1CE;"/>
                                <TextBlock Text="Food"
                                       FontSize="24"
                                       Margin="20,0,0,0"/>
                            </StackPanel>
                        </ListBoxItem>

                        <ListBoxItem Name="Network">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock FontFamily="Segoe MDL2 Assets"
                                       FontSize="36"
                                       Text="&#xE12B;"/>
                                <TextBlock Text="Network"
                                       FontSize="24"
                                       Margin="20,0,0,0"/>
                            </StackPanel>
                        </ListBoxItem>

                        <ListBoxItem Name="Mobile">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock FontFamily="Segoe MDL2 Assets"
                                       FontSize="36"
                                       Text="&#xE723;"/>
                                <TextBlock Text="Mobile"
                                       FontSize="24"
                                       Margin="20,0,0,0"/>
                            </StackPanel>
                        </ListBoxItem>
                    
                    </ListBox>
                </SplitView.Pane>
                <SplitView.Content>
                    <Frame Name="MyFrame"/>
                </SplitView.Content>
            </SplitView>

    MainPage.xaml.cs:

     private void IconsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
            {
                if (Financial.IsSelected)
                {
                    BackButton.Visibility = Visibility.Collapsed;
                    MyFrame.Navigate(typeof(Financial));
                    TitleTextBlock.Text = Financial.Name;
                }
                else if (Food.IsSelected)
                {
                    BackButton.Visibility = Visibility.Visible;
                    MyFrame.Navigate(typeof(Food));
                    TitleTextBlock.Text = Food.Name;
                }
                else if (Network.IsSelected)
                {
                    BackButton.Visibility = Visibility.Visible;
                    MyFrame.Navigate(typeof(Network));
                    TitleTextBlock.Text = Network.Name;
                }
                else if (Mobile.IsSelected)
                {
                    BackButton.Visibility = Visibility.Visible;
                    MyFrame.Navigate(typeof(Mobile));
                    TitleTextBlock.Text = Mobile.Name;
                }
            }

            private void BackButton_Click(object sender, RoutedEventArgs e)
            {
                if (MyFrame.CanGoBack)
                {
                    MyFrame.GoBack();                 
                }                       
            }


    quarta-feira, 27 de abril de 2016 00:39

Respostas

  • Boa tarde Cristiano,

    Eu iria postar o código, porém ele é muito extenso, a documentação é bem bacana e conta com essa back stack.

    How to navigate using the back stack for Windows Phone 8


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ quinta-feira, 28 de abril de 2016 17:50
    quinta-feira, 28 de abril de 2016 17:38

Todas as Respostas

  • Bom dia Cristiano Resende,

    Tudo bem?

    Desculpe, não entendi o erro que o código está gerando.

    Atenciosamente


    Marcos SJ

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 27 de abril de 2016 13:03
  • Boa tarde Cristiano,

    Eu iria postar o código, porém ele é muito extenso, a documentação é bem bacana e conta com essa back stack.

    How to navigate using the back stack for Windows Phone 8


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ quinta-feira, 28 de abril de 2016 17:50
    quinta-feira, 28 de abril de 2016 17:38
  • Boa noite Roberto. Vou tentar utilizar a documentação enviada e enviar um feedback. 
    quinta-feira, 28 de abril de 2016 23:21