我有一个silverlight表单,我在表单的构造函数中填充数据网格,下面是代码......
public partial class ManageArtists : UserControl
{
ChinookDomainContext cdContext = new ChinookDomainContext();
public ManageArtists()
{
InitializeComponent();
cdContext.Load(cdContext.GetArtistsQuery());
dpArtistPager.Source = cdContext.Artists.OrderBy(artist => artist.Name);
dgArtistList.ItemsSource = cdContext.Artists.OrderBy(artist => artist.Name);
}
}
现在的问题是......即使数据加载到网格中,它也不会显示任何内容,直到我点击网格的标题字段。我不明白为什么会发生这种情况?
有人可以解释我发生了什么!!
谢谢
答案 0 :(得分:1)
在这一行 -
dgArtistList.ItemsSource = cdContext.Artists.OrderBy(artist => artist.Name);
你会发现你的ItemsSource
被设置为IOrderedEnumerable
的实例,...不支持属性更改通知。
要快速修复此问题,请轻松将该集合包装在ObservableCollection
中,并且您的数据应正确显示。
HTH