WPF的ItemsControl设置数据源以及Binding使用

时间:2023-03-10 06:57:52
WPF的ItemsControl设置数据源以及Binding使用

Student类:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace BindingLINQ
{
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
}

1. 为ItemsControl类型的控件赋值,这里使用的是ListView,

只需要将集合直接赋值给 控件的 ItemsSource即可

namespace BindingLINQ
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<Student> list = new List<Student>()
{
new Student(){Id=,Name="f1",Age=},
new Student(){Id=,Name="f2",Age=},
new Student(){Id=,Name="f3",Age=}
}; lstStudent.ItemsSource = list;//赋值
}
}
}

2.然后在XAML中只需要将ListView行的格式设置好,控件将会自动循环将数据输出

 <Window x:Class="BindingLINQ.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="" Width="">
<Grid>
<ListView x:Name="lstStudent" Height="" Width="">
<ListView.View>
<GridView>
<!--将标题和每一列的数据绑定好,这里一行的数据就对于ItemsSource中的一个对象的各个属性-->
<GridViewColumn Header="Id" Width="" DisplayMemberBinding="{Binding Id}"/>
<GridViewColumn Header="Name" Width="" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Age" Width="" DisplayMemberBinding="{Binding Age}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>