DataContext trong WPF là nguồn dữ liệu mặc định cho việc binding dữ liệu trong WPF. Để hiểu hơn ta cùng đi vào một ví dụ nho nhỏ:
Khi binding danh sách sinh viên cho ListView thông thường ta phải sử dụng Element và Path:
Ta cũng có thể viết ngắn gọn thành:
Trong trường hợp này nó ngầm định binding đến propertyName = Students của DataContext. Như vậy ta cần set DataContext là loại dữ liệu chứa thuộc tính propertyName (cụ thể là Students).
public partial class MainWindow : Window
{
public List<Student> Students { get; set; }
public MainWindow()
{
InitializeComponent();
Students = new List<Student> {
new Student { Name = "Nguyen Van A", Email = "a@gmail.com"},
new Student { Name = "Nguyen Van B", Email = "b@gmail.com"},
new Student { Name = "Nguyen Van C", Email = "c@gmail.com"},
new Student { Name = "Nguyen Van D", Email = "d@gmail.com"},
new Student { Name = "Nguyen Van E", Email = "e@gmail.com"}
};
DataContext = this;
}
}