Всякий раз, когда я перемещаюсь с любой страницы на страницу карты, страница карты просто вспыхивает, показывает ее на некоторое время, а затем исчезает и возвращает меня на страницу, с которой я начала.
![This is a .gif file of to show what happens when I try to navigate to the Map Page.](https://i.stack.imgur.com/gGfn4.gif)
Я недавно исправил предыдущую проблему с навигацией, так как она вообще не работала. У меня есть два разных оператора переключения для навигации, как вы увидите, что может быть проблемой, но эта проблема больше нигде не возникает.
Код C # главной страницы:
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void NavView_Loaded(object sender, RoutedEventArgs e)
{
foreach (NavigationViewItemBase item in NavView.MenuItems)
{
if (item is NavigationViewItem && item.Tag.ToString() == "Home")
{
NavView.SelectedItem = item;
break;
}
}
}
private void NavView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
{
if (args.IsSettingsInvoked)
{
Frame.Navigate(typeof(SettingsPage));
}
else
{
switch (args.InvokedItem)
{
case "Home":
Frame.Navigate(typeof(MainPage));
break;
case "Attractions":
Frame.Navigate(typeof(AttractionsPage));
break;
case "Places to Eat":
Frame.Navigate(typeof(PlacestoEatPage));
break;
case "Map":
Frame.Navigate(typeof(BlankPage1));
break;
case "Photos":
Frame.Navigate(typeof(Photos_Page));
break;
case "News":
Frame.Navigate(typeof(NewsFeedPage));
break;
case "Weather":
Frame.Navigate(typeof(WeatherPage));
break;
}
}
}
private void NavView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
{
if (args.IsSettingsSelected)
{
Frame.Navigate(typeof(SettingsPage));
}
else
{
NavigationViewItem item = args.SelectedItem as NavigationViewItem;
switch (item.Tag)
{
case "home":
Frame.Navigate(typeof(MainPage));
break;
case "attractions":
Frame.Navigate(typeof(AttractionsPage));
break;
case "placestoEat":
Frame.Navigate(typeof(PlacestoEatPage));
break;
case "map":
Frame.Navigate(typeof(BlankPage1));
break;
case "photos":
Frame.Navigate(typeof(Photos_Page));
break;
case "news":
Frame.Navigate(typeof(NewsFeedPage));
break;
case "weather":
Frame.Navigate(typeof(WeatherPage));
break;
}
}
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
}
}
}
Это код MapPage C # с только кодом вида навигации (если мне нужно поместить остальное, то есть просто код маркеров для определенных мест на карте и различных стилей карты, дайте мне знать):
private void NavView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
{
if (args.IsSettingsInvoked)
{
Frame.Navigate(typeof(SettingsPage));
}
else
{
switch (args.InvokedItem)
{
case "Home":
Frame.Navigate(typeof(MainPage));
break;
case "Attractions":
Frame.Navigate(typeof(AttractionsPage));
break;
case "Places to Eat":
Frame.Navigate(typeof(PlacestoEatPage));
break;
case "Map":
Frame.Navigate(typeof(BlankPage1));
break;
case "Photos":
Frame.Navigate(typeof(Photos_Page));
break;
case "News":
Frame.Navigate(typeof(NewsFeedPage));
break;
case "Weather":
Frame.Navigate(typeof(WeatherPage));
break;
}
}
}
private void NavView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
{
if (args.IsSettingsSelected)
{
Frame.Navigate(typeof(SettingsPage));
}
else
{
NavigationViewItem item = args.SelectedItem as NavigationViewItem;
switch (item.Tag)
{
case "home":
Frame.Navigate(typeof(MainPage));
break;
case "attractions":
Frame.Navigate(typeof(AttractionsPage));
break;
case "placestoEat":
Frame.Navigate(typeof(PlacestoEatPage));
break;
case "map":
Frame.Navigate(typeof(BlankPage1));
break;
case "photos":
Frame.Navigate(typeof(Photos_Page));
break;
case "news":
Frame.Navigate(typeof(NewsFeedPage));
break;
case "weather":
Frame.Navigate(typeof(WeatherPage));
break;
}
}
}