В моем ответе я предполагаю, что вы начали с Windows Phone Panorama Project и уже добавили ссылку на Microsoft.Xna.Framework, чтобы получить доступ к библиотеке мультимедиа.
При связывании объекта Ui, такого как ListBox, с кодом, стоящим за лучшим решением, следует придерживаться подхода ViewModel, который уже предусмотрен в проекте. В вашем проекте вы должны найти MainViewModel. К этой модели представления добавьте следующее свойство:
private MediaLibrary _library;
public MediaLibrary Library
{
get
{
if (_library == null)
{
_library = new MediaLibrary();
}
return _library;
}
}
Это свойство предоставляет MediaLibrary вашему xaml. Библиотека создается при первом вызове.
Из вашего xaml теперь можно привязать это свойство, я только показываю ListBox.
<ListBox Margin="0,0,-12,0" ItemsSource="{Binding Library.Artists}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="78">
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Обратите внимание, что я связываю ListBox с подпрофилами Artists свойства Library, который мы только что создали в viewmodel. Я отредактировал шаблон ItemTemplate, чтобы показать только один текстовый блок, который привязан к имени исполнителя.
В вашем эмуляторе вы просто увидите 1 художника в качестве примера, чтобы протестировать это решение на реальном устройстве, вам нужно будет использовать инструмент WPConnect, который объясняется здесь
Надеюсь, это пока что поможет вам, пожалуйста, дайте мне знать, если остались какие-либо вопросы.