如何在后端添加WPF DataGridTemplateColumn.CellEditingTemplate组合框项源



我想将我的DataTable返回数据添加到我的DataGridTemplateColumn.CellEditingTemplate组合框中,但组合框为空

我的xaml代码如下

 <DataGridTemplateColumn Header="Student">
   <DataGridTemplateColumn.CellEditingTemplate >
      <DataTemplate>
           <ComboBox ItemsSource="{Binding dtStudent}"    DisplayMemberPath="StudentName"/>
      </DataTemplate>
   </DataGridTemplateColumn.CellEditingTemplate>
 </DataGridTemplateColumn>

后端

dtStudent = new Function().Sel_Student(); //Function that return student detail

我试图为组合框控件添加一个Name,但无法从后端访问它。

我的绑定方法错了吗?或者我有其他方法来实现我需要的

在DataTemplate中定义控件时,无法通过其名称访问控件。您可以从其可视化树中获取组合框。请参阅此WPF如何从DataTemplate 访问控制

您需要绑定到属性而不是函数。所以在你的后端你应该有

public IEnumerable<Student> Students
{
    get
    {
        return Sel_Students();
    }
}
private IEnumerable<Student> Sel_Students()
{
    return { ... your students};
}
public class Student {
}

最新更新