2016-01-16 11 views
6

Attualmente lo sviluppo di una piattaforma applicativa universale di Windows, non è possibile accedere al parametro sulla pagina navigatedtoAccesso a un parametro passato tra le pagine UWP

codice per far passare il parametro:

var ente = this.DataGrid.SelectedItem as Ente; 
      var Id = ente.Id; 
      Frame.Navigate(typeof(EntiEdit), Id); 

Ed ecco il "NavigatedTo "pagina

protected override void OnNavigatedTo(NavigationEventArgs e) { 
     string Id = e.Parameter as string; 
     } 

Come posso usare questa stringa in altri miei metodi? L'override dell'evento è protetto quindi non posso accedere al suo contenuto.

Grazie in anticipo

risposta

8

È necessario salvare il parametro per il campo di classe o la proprietà di avere accesso ad esso:

public class EntiEdit : Page 
{ 
    private string _entityId; 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     _entityId = e.Parameter as string; 
    } 
} 

Se avete bisogno di avviare alcuni trattamenti dopo la navigazione della pagina si può fare dal gestore dell'evento:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var entityId = e.Parameter as string; 
    EntityData = LoadEntity(entityId); 
    DoSomeOtherRoutine(entityId); 
} 
Problemi correlati