Para dar las gracias debes entrar o registrarte en el foro
Buenas a tod@s. Este es mi primer mensaje en el foro y espero que me sirvais de ayuda.
Estoy haciendo mi primera aplicación para Windows Phone y estoy atascado en un asunto. Tengo un panorama principal MainPage.xaml, donde tengo en uno de los panoramas una lista obtenida de un xml:
.....
Metí el id porque me dijeron que sería posible a través del listBox_SelectionChanged ir a un pivotItem en concreto de la página pivot Discografia.xaml. Lo siguiente ha sido mi idea principal, pero evidentemente no funciona:
private void listBox1_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
// TODO: Agregar implementación de controlador de eventos aquí.
Disc seleccion = (Disc)e.AddedItems[0];
String parametro = string.Format("?page={0}", seleccion.Id);
NavigationService.Navigate(new Uri(string.Format("Discografia.xaml{0}", parametro), UriKind.Relative));
}
¿Podéis ayudarme a como hacerlo? Muchas Gracias.
Hola Astaroth_SA,
Para ir a un PivotItem en concreto lo puedes hacer con la propiedad SelectedIndex del control Pivot que tengas puesto, pero eso no tiene nada que ver con recuperar el Id del disco, o quizás es que no he entendido muy bien tu problema.
Un saludo!
[SOLUCIONADO]
Tras mucho trastear y jugar al final he conseguido hacerlo!! Dejo aquí la solución por si alguien la necesita en un futuro.
En la página de nuestro panorama:
private void listBox1_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
// TODO: Agregar implementación de controlador de eventos aquí.
Disc seleccion = (Disc)e.AddedItems[0];
String parametro = seleccion.Id;
NavigationService.Navigate(new Uri(string.Format("/PaginaPivot.xaml?parametro={0}", parametro), UriKind.Relative));
}
En el Pivot al que queremos ir:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
String pivotId = this.NavigationContext.QueryString["parametro"];
nombrePivot.SelectedIndex = int.Parse(pivotId);
}
Tener en cuenta que los índices del pivot se enumeran desde 0
Gracias a ZinkPad por su ayuda.