在windows phone8.1中,列表显示数据分为以下几个控件,ItemsControl,ListBox,ListView,GridView,SemanticZoom控件。
以前我一直在用ListBox控件或者ListView控件来显示简单数据,今天自己随便玩玩,写了一些简单的只显示的数据,用ItemsControl实现,开始觉得还好,当我把数据量增大一下时候,坑爹的情况发生了,竟然不能滑动!!!也就是只能显示手机页面那多高的数据,不能滑动来查看后面那些数据,完全没有ListBox控件或者ListView控件用着爽,于是在网上看了看。
原来,ItemsControl只实现一个列表的最基本功能,没有实现一些比较复杂的逻辑功能,例如数据量很大时,可以产生滑动效果,列表选择被选中效果。所以,不能滑动。正是因为它的功能如此简洁,它比其他几个列表控件执行速度高。
下来看看如何实现ItemsControl 数据的滑动功能。
<Grid>
<ItemsControl x:Name="item">
<!--这里设置控件实现滑动功能-->
<ItemsControl.Template>
<ControlTemplate TargetType="ItemsControl">
<ScrollViewer>
<ItemsPresenter/>
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
<!--设置数据模板-->
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" FontSize="23">
</TextBlock>
<TextBlock Text="{Binding Num}" FontSize="23"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
是不是很好实现,这里只是前台简单的代码,如果查看Demo文件,请点击进行下载http://pan.baidu.com/s/1sFcVc