zoukankan      html  css  js  c++  java
  • WPF 数据模板

    数据模板实质上也是以内容模板为基础,在数据模板中,是对内容模板重复的显示,以达到迭代显示数据的作用,所以在数据模板中,可以添加呈现数据的任意元素。能够添加数据模板的元素,主要是继承自ItemsControl类的控件,通过控件的ItemTemplate属性来支持,比如我们常用的ListBox和ComboBox控件。案例如下:

    创建一个学生类:

    public  class Student
       {
           public string Name {
               get;
               set;
           }
           public int Age {
               get;
               set;
           }
           public string Grade {
               get;
               set;
           }
       }

    创建一个ListControl控件ListBox,且创建数据模板,如以下代码:

    <ListBox Width="300" Height="300" x:Name="studentList" Canvas.Left="166" Canvas.Top="19"  HorizontalContentAlignment="Stretch">
         <ListBox.ItemTemplate>
             <DataTemplate>
                 <Border Margin="5" BorderThickness="2" BorderBrush="DarkSlateBlue" CornerRadius="5">
                     <Grid>
                         <Grid.RowDefinitions>
                             <RowDefinition></RowDefinition>
                             <RowDefinition></RowDefinition>
                             <RowDefinition></RowDefinition>
                         </Grid.RowDefinitions>
                         <TextBlock Grid.Row="0" HorizontalAlignment="Stretch" Text="{Binding Path=Name}"></TextBlock>
                         <TextBlock Grid.Row="1" HorizontalAlignment="Stretch" Text="{Binding Path=Age}"></TextBlock>
                         <TextBlock Grid.Row="2" HorizontalAlignment="Stretch" Text="{Binding Path=Grade}"></TextBlock>
                     </Grid>
             </Border>
             </DataTemplate>
         </ListBox.ItemTemplate>
    </ListBox>

    向控件中添加数据,代码如下:

    Student st = new Student();
    st.Name = NameTxt.Text;
    st.Age =int.Parse(AgeTxt.Text);
    st.Grade = GradeTxt.Text;
    this.studentList.Items.Add(st);

    得到的效果如下图所示:

    image

    以上完成了最简单的数据模板。

  • 相关阅读:
    SpinLock 实现
    支持正则或通配符的hashmap
    HTTP报文
    Protostuff序列化
    【转】轻量级分布式 RPC 框架
    Servlet 3特性:异步Servlet
    Web服务器的工作原理
    《恰如其分的软件架构:风险驱动的设计方法》——读书笔记
    Java socket中关闭IO流后,发生什么事?(以关闭输出流为例)
    Java Socket常见异常处理 和 网络编程需要注意的问题
  • 原文地址:https://www.cnblogs.com/minhost/p/7600992.html
Copyright © 2011-2022 走看看