Usuário com melhor resposta
Navegação entre Páginas - Frame - XAML / C#

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=""/>
<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=""/>
<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=""/>
<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=""/>
<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();
}
}
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
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.
-
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
-