Xaml 当绑定属性更改时,使用绑定值更新列表框

Xaml 当绑定属性更改时,使用绑定值更新列表框,xaml,windows-phone-7,data-binding,httpwebrequest,Xaml,Windows Phone 7,Data Binding,Httpwebrequest,我从一个xml中获取一些数据,该xml使用异步WebRequest每隔2分钟左右更新一次。因此,每次数据更改时,我都需要相应地更改列表框。我从互联网上提取数据,最后几行代码就是这些 IEnumerable<Update> list = from y in xelement.Descendants("Song") select new Update() {

我从一个xml中获取一些数据,该xml使用异步WebRequest每隔2分钟左右更新一次。因此,每次数据更改时,我都需要相应地更改列表框。我从互联网上提取数据,最后几行代码就是这些

    IEnumerable<Update> list = from y in xelement.Descendants("Song")
                   select new Update()
                   {
                       NowTitle = y.Attribute("title").Value,
                       NowArtist = y.Element("Artist").Attribute("name").Value
                   };
                   Dispatcher.BeginInvoke(()=> nowList.ItemsSource = list);

谁能告诉我我做错了什么?谢谢

两件事,第一,确保您的
nowList
属性引发属性更改事件,第二,确保您的
nowList
类型为
observeCollection

<edit>

如果nowList是你的列表框,那很可能是你的罪魁祸首。尝试将一个
ObservableCollection
作为引发更改事件的属性,然后在XAML中将列表框绑定到该属性

<ListBox ItemSource={Binding myList}/>

我相对确信这会解决你的问题

</edit>


您正在调用调度程序.BeginInvoke(()=>nowList.ItemsSource=list)部分?是,它是webrequest回调的一部分,每次都执行。属性在更新类中实现INotifyPropertyChanged接口。nowList是一个列表框。@Kwsta是您设置nowList的ItemsSource的行-它应该是一个ObservableCollection,但它是一个IEnumerable
<ListBox ItemSource={Binding myList}/>
</edit>