Estoy intentando vincular una lista de valores de cadena a un cuadro de lista para que sus valores se enumeren línea por línea. En este momento yo uso esto:¿Cómo puedo vincular los datos una lista de cadenas a un ListBox en WPF/WP7?
<ListBox Margin="20" ItemsSource="{Binding Path=PersonNames}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Id}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Pero no sé lo que debo poner en el bloque de texto, en lugar de Id
, ya que son todos los valores de cadena, no clases personalizadas.
También se queja de no tener que encontrar PersonNames cuando lo tengo dentro de MainPage, como MainPage.PersonNames.
puse el contexto de datos a:
DataContext="{Binding RelativeSource={RelativeSource Self}}"
lo estoy haciendo mal?
Gracias, YourListBox me confunde. ¿Es el nombre del control? ¿Tienes que usar la primera línea en el código para que el xaml funcione? –
Eso fue un error tipográfico, de hecho es el Nombre del Control. También puede vincular los elementos a través de un DataContext en su página o a través de Recursos. El enlace que di fue para propósitos de demostración. :) – Abbas
Gracias, ¿pueden darme un ejemplo para DataContext? Me está costando entenderlo. –