У меня есть «MainModelView», который реализует INotifyPropertyChanged
и имеет свойство, которое предоставляет ObservableCollection<T>
с именем ExposedCollection
.В нашем MainPage.xaml у нас есть ListBox, у которого ItemsSource должен быть привязан к MainModelView.ExposedCollection
.
. MainModelView выполняет вызов REST для заполнения ExposedCollection
в фоновом режиме.Когда WebClient
делает свое дело, ASyncCallback вызывает NotifyPropertyCHanged
, который проверяет, является ли событие PropertyChanged нулевым, и, если нет, вызывает его.Довольно простые вещи
Проблема в том, что ListBox никогда не связывается с ExposedCollection.Я установил точку останова на нашей нулевой проверке NotifyPropertyChanged, и никогда не было прослушивателей в PropertyChanged.
Я пытался создать экземпляр MainViewModel в PhoneApplicationPage.Resources
, PhoneApplicationPage.DataContext
и PhoneApplicationFrame.DataContext
в App.xaml,Во всех случаях событие PropertyChanged по-прежнему равно нулю.Что мне здесь не хватает?
<phone:PhoneApplicationPage.DataContext>
<gmvm:MainViewModel x:Name="MainViewModel" />
</phone:PhoneApplicationPage.DataContext>
...
<ListBox x:Name="MyListBox" ItemsSource="{Binding ExposedCollection}" Margin="0,20,-12,0">
.....
</Listbox>