В Интернете я нашел пример, объясняющий, как выполнить привязку данных к элементу управления ListBox с помощью LINQ в WPF. Пример работает нормально, но когда я копирую тот же код в Silverlight, он не работает. Есть ли принципиальная разница между Silverlight и WPF, о которой я не знаю?
Вот пример XAML:
<ListBox x:Name="listBox1">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}" FontSize="18"/>
<TextBlock Text="{Binding Role}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Вот пример моего кода:
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
string[] names = new string[] { "Captain Avatar", "Derek Wildstar", "Queen Starsha" };
string[] roles = new string[] { "Hero", "Captain", "Queen of Iscandar" };
listBox1.ItemSource = from n in names from r in roles select new { Name = n, Role = r}
}