重复:
为什么DataContext和ItemsSource不是多余的?
在WPF中,我们可以通过两种方式将项目列表分配给ComboBox
//CODE #1
//WPF
<ComboBox name="cmbItems" ItemSource={Binding} />
//C#
cmbItems.DataContext = someList;
Run Code Online (Sandbox Code Playgroud)
换句话说,直接分配itemsource
//CODE #2
//WPF
<ComboBox name="cmbItems" ItemSource={Binding} />
//C#
cmbItems. ItemSource = someList;
Run Code Online (Sandbox Code Playgroud)
两者都有用,但上面的片段有什么区别?哪个好用?
DataContext主要用于表单,控件等.
ItemSource是在DataContext上进行数据绑定的相对路径.
例如,当您创建一个表单来编辑Person详细信息时,DataContext将是Person,并且表单上的不同控件将分别绑定在该对象上的单独属性上,例如Name,Birth of Date等.