本人在ListBox中添加了DataTemplate,还设置了数据源,代码如下:
<ListBox Grid.Column="0" ItemsSource="{Binding Pages,Mode=OneWay}"> <ListBox.ItemTemplate> <DataTemplate DataType="vm:PageViewModel"> <Grid> <TextBlock Text="{Binding PageNo}" /> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
关于数据源,是一个ViewModel,ViewModel中的PageNo属性也已经使用PropertyChanged事件。
问题:
当本人每次单击按钮时都会往数据源中添加数据,ListBox中显示的内容没有变化,就算单击数次也不显示任何内容,但假如改变窗口大小时(ListBox被自动刷新)时,之前往数据源中添加的全部数据都显示了出来。然后再次按按钮添加数据,还是不会立即显示出来,当再次改变窗口大小时才会显示出来。
问一下各位这是什么情况?
其它控件绑定数据时没有这种情况出现。
解决方案
40
ObservableCollection 做为源,会有更改通知,才会动态更新