Principale utente con più risposte
Schermata di benvenuto nell'app

Domanda
-
Buongiorno,
nella mia app ho creato una semplice schermata di benvenuto che si apre nella homepage al primo avvio.
Ecco il codice usato:
int appRunCount = 0; Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; public HomePage() { ViewModel = new MainViewModel(12); InitializeComponent(); try { appRunCount = (int)localSettings.Values["AppRunCount"]; } catch { } appRunCount++; try { localSettings.Values["AppRunCount"] = appRunCount; } catch { } NavigationCacheMode = NavigationCacheMode.Required; commandBar.DataContext = ViewModel; searchBox.SearchCommand = SearchCommand; this.SizeChanged += OnSizeChanged; } public MainViewModel ViewModel { get; set; } protected async override void OnNavigatedTo(NavigationEventArgs e) { await this.ViewModel.LoadDataAsync(); //Page cache requires set commandBar in code ShellPage.Current.ShellControl.SetCommandBar(commandBar); ShellPage.Current.ShellControl.SelectItem("Home"); } private void OnSizeChanged(object sender, SizeChangedEventArgs e) { searchBox.SearchWidth = e.NewSize.Width > 640 ? 230 : 190; } public ICommand SearchCommand { get { return new RelayCommand<string>(text => { searchBox.Reset(); ShellPage.Current.ShellControl.CloseLeftPane(); NavigationService.NavigateToPage("SearchPage", text, true); }, SearchViewModel.CanSearch); } } private async void Page_Loaded(object sender, RoutedEventArgs e) { { //ShowToast("Welcome to Wifi Vision"); } if (appRunCount == 1) welcome_grid.Visibility = Visibility.Visible; //MOSTRA LA SCHERMATA DI BENVENUTO } } //SCHERMATA DI BENVENUTO private void close_welcome_grid_btn_Click(object sender, RoutedEventArgs e) { welcome_grid.Visibility = Visibility.Collapsed; } } }
Il problema è che, sempre durante la prima sessione dell'app, se l'utente dopo aver nascosto la schermata di benvenuto(welcome screen) torna alla homepage, questa torna visibile.
Come faccio invece a renderla non visibile e salvare questo cambiamento nei local settings dell'app.
Grazie
Risposte
-
Ciao,
il problema che hai è perché con NavigationCacheMode.Required la pagina non viene più ricreata ma viene richiamato il Page_Loaded.
Prova a spostare la logica che hai messo nel costrutto in quell'evento ed in questo modo dovrebbe essere ricontrollato ogni volta prima di visualizzare la schermata di benvenuto
Ciao
Alessio
- Proposto come risposta Alessio IafrateMVP mercoledì 25 gennaio 2017 06:13
- Contrassegnato come risposta Nikola KochmalarskiMicrosoft contingent staff, Moderator venerdì 10 febbraio 2017 12:26
-
Ciao,
se ritieni il tuo problema richiesto poi segnalare il mio post come risposta in modo da chiudere il thread
ciao
Alessio
- Contrassegnato come risposta Nikola KochmalarskiMicrosoft contingent staff, Moderator venerdì 10 febbraio 2017 12:26
Tutte le risposte
-
Ciao Isabella,
Secondo me, una opzione semplice sarebbe un Check -
If welcomescreen shown count = 1;
disable;
else
Show;
Sopra e solo l'idea. Farci sapere se una tale costruzione potresti implementare.
• Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.
-
Ciao,
il problema che hai è perché con NavigationCacheMode.Required la pagina non viene più ricreata ma viene richiamato il Page_Loaded.
Prova a spostare la logica che hai messo nel costrutto in quell'evento ed in questo modo dovrebbe essere ricontrollato ogni volta prima di visualizzare la schermata di benvenuto
Ciao
Alessio
- Proposto come risposta Alessio IafrateMVP mercoledì 25 gennaio 2017 06:13
- Contrassegnato come risposta Nikola KochmalarskiMicrosoft contingent staff, Moderator venerdì 10 febbraio 2017 12:26
-
-
Ciao,
se ritieni il tuo problema richiesto poi segnalare il mio post come risposta in modo da chiudere il thread
ciao
Alessio
- Contrassegnato come risposta Nikola KochmalarskiMicrosoft contingent staff, Moderator venerdì 10 febbraio 2017 12:26