按照杨老师的Ado.Net项目开发教程(第五季)里第二课,2员工管理、照片的保存和加载、摄像头的操作,的代码,WPF,
在EmployeeListWindow.xaml.cs里
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
columnDepartmentId.ItemsSource = new DepartmentDAL().ListAll();
columnEducationId.ItemsSource = new IdNameDAL().GetByCategory("学历");
datagrid.ItemsSource = new EmployeeDAL().ListAll();
}
这里显然,columnEducationId通过数据绑定在IdNameDAL().GetByCategory("学历")里取得的是学历的ID和Name,而 datagrid通过EmployeeDAL().ListAll()取得的只是每个员工的 学历ID。
然后,在前台EmployeeListWindow.xaml里,
<DataGridComboBoxColumn Header="学历" Width="80" SelectedValueBinding="{Binding EducationId}" SelectedValuePath="Id"
DisplayMemberPath="Name" x:Name="columnEducationId"></DataGridComboBoxColumn>
这里我弄不明白,SelectedValueBinding="{Binding EducationId}",这一句里
1、columnEducationId的ItemsSource绑定的是IdNameDAL().GetByCategory("学历"),返回的是ID和Name,这个{Binding EducationId}里的EducationId是从哪里来的?我知道EmployeeDAL().ListAll()能返回EducationId,可这和columnEducationId没有关系啊??
2、SelectedValueBinding这个到底怎么理解?什么时候用?SelectedItemBinding和SelectedValueBinding有什么区别?
3、在这段代码里,DisplayMemberPath指显示的值,SelectedValuePath指的是该项实际的属性值,是吧?那和SelectedValueBinding是什么关系呢?
|