У меня есть модель:
public class Song
{
public int ContentID { get; set; }
public bool IsSelected
{
get
{
var song = PlayerHelper.ReadNowPlaying();
return song.Id == ContentID;
}
}
}
У меня есть представление с ListBox:
<ListBox x:Name="songsLstBox" ItemsSource="{Binding Top100Songs}" />
И ViewModel со списком элементов песен. Поэтому иногда я хочу обновить (перерисовать) список. Необходимо показать, что IsSelected изменено (Нет, я не могу использовать INotifyPropertyChanged в модели и установить его в viewmodel).
Так как я могу перерисовать список в WP7? Я не могу найти какой-либо метод обновления или обновления для UIElements.
Я пытался вызвать это. OnPropertyChanged ("Top100Songs"); но это не работает Я попытался вызвать UpdateLayout - то же самое.
Один из способов - установить для DataContex для страницы значение null, а затем вернуться к моей ViewModel. Работает, но так долго (около 5 секунд для смены).
Так есть идеи?