valor seleccionar seleccionado obtener multiselect item c# listbox selecteditem

c# - seleccionar - Windows Phone 7: evento ListBox SelectionChanged



obtener valor seleccionado listbox c# (2)

El elemento seleccionado no es un ListBoxItem, pero en realidad es el tipo de cualquier objeto que vincula al ListBox a través de ItemSource. Entonces, convertirlo en un ListBoxItem le devuelve un objeto nulo.

ListBox.ItemsSource = new List<myObject>() { new myObject(), new myObject() }; ListBox.SelectedIndex = 1; var selectedObject = ListBox.SelectedItem as myObject;

Soy nuevo en XAML y Windows Phone 7 SDK. Estoy desarrollando una aplicación Windows Phone 7 y no sé cómo detectar el elemento seleccionado de ListBox. Estoy usando la plantilla de panorama, aquí está mi código:

<controls:PanoramaItem Header="Basic"> <ListBox Margin="0,0,-12,0" Name="MyListBox" SelectionChanged="Elementary_SelectionChanged"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Margin="0,0,0,17"> <Image Height="100" Width="100" Source="{Binding LevelPassedImage}" Margin="12,0,9,0"/> <StackPanel Width="311"> <TextBlock Name="lvlName" x:Uid="Elementary{Binding LevelId}" Text="{Binding LevelName}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" /> <TextBlock Text="{Binding LevelPassed}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}" /> </StackPanel> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </controls:PanoramaItem>

Y el código C #:

MessageBox.Show(Elementary.SelectedItem.ToString()); //returns "LocalXmlParsing.XMLParser"

Estoy usando XMLParser, código de inicialización de la aplicación:

var parser = LocalXmlParsing.XMLParser.Instance; StreamResourceInfo strm = Application.GetResourceStream(new Uri("Levels/ElementaryLevels.xml", UriKind.Relative)); StreamReader reader = new StreamReader(strm.Stream); string data = reader.ReadToEnd(); parser.DataToParse = data; parser.ParseStateData(); MyListBox.ItemsSource = parser.LevelCollection;

Cuando intento detectar SelectedItem , ListBox me devuelve esta cadena: "LocalXmlParsing.XMLParser".


Parece que estás usando el proyecto de ejemplo de Nokia llamado "LocalXmlParsing". Todavía puede usar su código, pero si desea detectar SelectedItem debe usar algo como esto:

LocalXmlParsing.Level selecteditem = (LocalXmlParsing.Level)myListBox.SelectedItem; //it will returns your element MessageBox.Show(selecteditem.Id); //It will return the Id of SelectedItem (String). You should use yours: SelectedItem.MyElement