Windows 8中的GridView使用(二)和DataTemplateSelector
在本文中所讲述内容的实例仍然沿用于上篇文章,有什么疑惑可以参考上篇文章。
一 GroupStyle 在GridView控件中我们可以对数据进行分组显示,通过对GridView的GroupStyle进行控制,分别设置 GroupStyle.HeaderTemplate和GroupStyle.Panel。如下代码:
<GridView.GroupStyle> <GroupStyle> <GroupStyle.HeaderTemplate> <DataTemplate> <Grid Margin="1,0,0,6"> <Button AutomationProperties.Name="组名称" Content="{Binding GroupTitle}"/> </Grid> </DataTemplate> </GroupStyle.HeaderTemplate> <GroupStyle.Panel> <ItemsPanelTemplate> <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,50,0"/> </ItemsPanelTemplate> </GroupStyle.Panel> </GroupStyle> </GridView.GroupStyle>
二 DataTemplateSelector 在不同的组之间我们想使 用不同的样式进行显示,在这里我们可以继承重写DataTemplateSelector类编写并且根据后台数据选择相应的 样式模版进行呈现。
在之前代码的基础上我们需要做以下工作:
1.编写一个类继承于 DataTemplateSelector
public class TemplateSelector : DataTemplateSelector { /// <summary> /// 第一种文本显示模版 /// </summary> public DataTemplate TextBoxTemplate { get; set; } /// <summary> /// 第二种图片为主显示模版 /// </summary> public DataTemplate ImageTemplate { get; set; } /// <summary> /// 核心方法:根据不同的数据源类型返回给前台不同的样式模版 /// </summary> /// <param name="item"></param> /// <param name="container"></param> /// <returns></returns> protected override DataTemplate SelectTemplateCore(object item, DependencyObject container) { DataModel model = item as DataModel; string typeName = model.MainModel.Name; if (typeName == typeof(TextBox).Name)//根据数据源设置的数据显示模式返回前台样式模版 { return TextBoxTemplate; } if (typeName == typeof(Image).Name) { return ImageTemplate; } return null; } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索gridview
, 样式
, typename
, gridview分组显示
, datatemplate
, 模版
, 不同
GridView实例开发
windows开发入门、windows驱动开发入门、安卓开发gridview、安卓开发gridview使用、android开发gridview,以便于您获取更多的相关知识。