WPF DataTemplate模板

在WPF中我们可以为自己的数据定制显示方式,虽然数据是一定的,但是DataTemplate模板可以做到让它的表现形式多种多样,这意味着要重写它原来的模板结构。与控件模板不同的是两者应用的不同,DataTemplate模板更多用于Content Control类控件与Items Control类控件。

在ListBox的Item中显示某个成员的姓名、年龄之类的基本信息,点击左边的Name,右边显示详细信息,要使ListBox的默认样式变得生动有趣,首先要对ListBox进行重写,TextBlock绑定左边Name和Age

WPF DataTemplate模板_第1张图片

 

接着是要接收从后台传过来定义的Name和Age,Template接收重写后的样式,ItemsSource绑定属性路径,ItemTemplate接收重写的数据模板Lable绑定右边的显示值

WPF DataTemplate模板_第2张图片

 

在后台定义需要传到页面的 Name、Age等变量,先初始化 System.Collections.ObjectModel.ObservableCollection类的新实例

Private ObservableCollection observableCollection = new ObservableCollection();

使用构造方法获取返回的值,observableCollection类添加并赋值给实体的Name、Age等变量

  public ObservableCollection<Student> ObservableCollection

        {

            get { return observableCollection; }

            set { observableCollection = value; }

        }

        public class Student

        {

            public int Age { get; set; }

            public string Name { get; set; }

            public string FavorColor { get; set; }

            public string Hobby { get; set; }

        }

        public DataTemplate()

        {

            InitializeComponent();

            this.DataContext = this;

            observableCollection.Add(new Student() { Name = "Tom", Age = 16, FavorColor = "Red"});

            observableCollection.Add(new Student() { Name = "Maty", Age = 18, FavorColor = "Green"});

            observableCollection.Add(new Student() { Name = "Alice", Age = 19, FavorColor = "Yellow"});

        }

得到的效果

WPF DataTemplate模板_第3张图片

 

你可能感兴趣的:(WPF DataTemplate模板)