C# 使用DataTable在lisbtox中显示数据库中的元素

C# 使用DataTable在lisbtox中显示数据库中的元素,c#,sql,wpf,datatable,listbox,C#,Sql,Wpf,Datatable,Listbox,我试图在WPF的列表框中显示我数据库“Worker”中的元素,我想使用DataTable执行此操作,我检查了DataTable是否包含数据库中的元素,问题是试图在列表框中显示这些元素,列表框不显示任何内容,它只是空白。这是我的代码: private void MainWindow_Loaded(object sender, RoutedEventArgs e) { cmd.Connection = con; DataTable mydatatable

我试图在WPF的列表框中显示我数据库“Worker”中的元素,我想使用DataTable执行此操作,我检查了DataTable是否包含数据库中的元素,问题是试图在列表框中显示这些元素,列表框不显示任何内容,它只是空白。这是我的代码:

  private void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        cmd.Connection = con;
         DataTable mydatatable = GetDataTable();
         listBoxListNames.ItemsSource = mydatatable.ToString();
         listBoxListNames.SelectedValuePath = "id";
         listBoxListNames.DisplayMemberPath = "name".ToString();          
        ShowDatabase();
    }

尝试使用ListItem而不仅仅是字符串,它有“文本”和“值”

例如:

foreach (DataRow dr in mydatatable.Rows)
{
    listBoxListNames.Items.Add(new ListItem(dr["name"].ToString(), dr["name"].ToString());
}

它向我显示了一个错误:“ListItem”不包含接受2个参数的构造函数,我尝试删除其中一个参数,但随后它向我显示了另一个错误:参数1:无法从“字符串”转换为“System.Windows.Documents”。段落“在选择名称后,我需要在列表框上显示要删除的工作人员的姓名,因此,我也需要SelectedValuePath中的ID,因为我将使用“ID”而不是“名称”来删除