WindowsPhone8.1中数据显示控件基石
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:37
在Windows Phone 8.1中数据显示交互控件无外乎FlipView,ListView,GridView等,但我们用的时刻总不克不及直接写
<FlipView/>,<ListView/>,<GridView/>之类来应用吧,虽嗣魅如许也可以,但如许出现出来的画面就很难看了,哪
个用户会高兴看呢,反正我是不高兴看。
在这里问题就来了,不但请求数据能绑定到位,功能也到位,界面也总得美化美化吧。
好了进入正题了:
这些数据出现控件的基石是谁呢?当然是ItemsControl。
换句话说像FlipView,ListView这些控件都是持续了ItemsControl的。所以在此通透地懂得下ItemsControl控件,学
会如何自定义ItemsControl控件,去美化它,那么持续自它的FlipView,ListView等控件就知道怎么设置了
ItemsControl和其他数据显示控件的差别:
a.ItemsControl琅绫腔有内置的ScrollViewer控件,所以如许就导致下面例子中第一个ItemsControl中部分数据未显示
出来(当然要显示出来,加个ScrollViewer控件即可,如许就可以滑动看到所有的ItemsControl琅绫擎的数据了)
b.FlipView,ListView等数据显示控件的可视化构造树琅绫擎都封装了ScrollViewer,简言之在这些控件中不管你加多
少器械,都可以经由过程高低滑动看到的而无需另加ScrollViewer
(这个也就奠定了后来实现ListBox控件滑动到底部数据主动加载的需求了)
好了,开端专说ItemsControl吧,记住以下几点即可:
a.ItemsControl.Template自定义ItemsControl控件的样式
个中要用ItemsPresenter来竽暌箍现ItemsControl的Items(不是Item)
具体表示的构造:ItemsControl=>ItemsControl.Template=>ControlTemplate
b.ItemsControl.ItemContainerStyle用来修改或者设置ItemsControl的Item的样式的(不是Items)
具体表示的构造:ItemsControl=>ItemsControl.ItemContainerStyle=>Style=><setter property="" value=http://www.sjsjw.com/100/000250MYM027556/"">
c.以下两个来竽暌箍现数据的,前者直接在ItemsControl中添加;后者经由过程自定义子数据模板来给ItemsControl添加数据
(一般是自定义数据模板DataTemplate,然后后台绑定命据)
模式一:ItemsControl.Items
模式二:ItemsControl.ItemTemplate
常见表示的构造:ItemsControl=>ItemsControl.ItemTemplate=>DataTemplate
终于可以贴代码了:(这边我没有写经由过程后台绑定命据来竽暌箍现的方法,因为和直接写数据都差不多)
<Page x:Class="TestUnion.ItemsControlDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:TestUnion" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid> <!--自定义ItemsControl控件的样式,--> <!--个中要用ItemsPresenter来竽暌箍现ItemsControl的Items(不是Item)--> <!--ItemsControl.Template--> <!-- 具体表示的构造:ItemsControl=>ItemsControl.Template=>ControlTemplate --> <!--这个则是用来修改或者设置ItemsControl的Item的样式的(不是Items)--> <!--ItemsControl.ItemContainerStyle--> <!-- 具体表示的构造:ItemsControl=>ItemsControl.ItemContainerStyle=>Style=><setter property="" value=http://www.sjsjw.com/100/000250MYM027556/""> -->
运行截图:
初始界面:
[img]http://img.blog.csdn.net/20150104210941531
第二张滚动下面一个ItemsControl(膳绫擎一个ItemControl滚不了,因为每家ScrollViewer)
这边我还特意截图截到了ScrollViewer的右侧滚动条:
[img]http://img.blog.csdn.net/20150104211106090
好了,大年夜家本身可以尝尝,玩出本身的自定义吧。
実に おもしろい