windows 开发 数据模版 Itemtemp

根据http://www.winphonecoder.com/forum.php?mod=viewthread&tid=198&extra=page%3D1   前辈的资料  自己整理 记录供自己复习使用

windwos phone  或者 win8  开发里面     经常要使用到数据模版  它的作用 是规范 显示的   ,数据模板就是用来规范数据的显示方式的。  就相当于给你一个入职表格 ,你再表格中每一项中填写对应的数据   这个表格就是一个固定的模版  ,姓名填写在什么位置 ,年纪````

只要是ContentControl的子类基本上都有 数据模版,如Button等,当然,这些控件一般没那必要修改

一般列表形式的控件就最有可能使用到数据模板了,比如ListBox控件,如果你的列表控件只是让用户看信息的,而不需要额外操作,你完全可以考虑使用ListBox的“老爸”——ItemsControl。    listbox 中的模版 就是指每一项 如何显示

数据模板默认是TextBlock控件,只能显示文本,  就是说  当你用一个类 去填充listbox  的时候  在默认模版情况下 ,他会去调用 类的tostring()方法 ,所以就无法按照你预想的样子显示  ,要自己重新定义  一般格式是

以 itemcontrol为例 

  •         <ItemsControl Name="myItemsControl" FontSize="52">
  •             <ItemsControl.ItemTemplate>
  •                 <DataTemplate>
  •                     <Grid Margin="0,0,0,27">
  •                         <Grid.ColumnDefinitions>
  •                             <ColumnDefinition Width="auto"/>
  •                             <ColumnDefinition Width="*"/>
  •                         </Grid.ColumnDefinitions>
  •                         <Grid.RowDefinitions>
  •                             <RowDefinition Height="auto"/>
  •                             <RowDefinition Height="auto"/>
  •                             <RowDefinition Height="auto"/>
  •                         </Grid.RowDefinitions>
  •                         <TextBlock Grid.Column="0" Grid.Row="0" Text="商品:"/>
  •                         <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding GoodsName}"/>
  •                         <TextBlock Grid.Column="0" Grid.Row="1" Text="单价:"/>
  •                         <TextBlock Grid.Column="1" Grid.Row="1" Text="{Binding Price}"/>
  •                         <TextBlock Grid.Column="0" Grid.Row="2" Text="条码:"/>
  •                         <TextBlock Grid.Column="1" Grid.Row="2" Text="{Binding BarCode}"/>
  •                     </Grid>
  •                 </DataTemplate>
  •             </ItemsControl.ItemTemplate>
  •         </ItemsControl>
  • 红色的就是 数据模版的  布局   ,每一个项都会按照这个容器内部排列    对应数据绑定  显示出来
  • 蓝色  的是对  控件的模版进行数据模版重新声明更改
原文地址:https://www.cnblogs.com/zey23/p/2759361.html