WPF中组合框的DisplayMemberPath,C#

WPF中组合框的DisplayMemberPath,C#,c#,wpf,combobox,datatable,datarow,C#,Wpf,Combobox,Datatable,Datarow,我有数据表,其中包含必要的数据行,我想在组合框中显示这些数据行。 第二个DataColumn称为VALUE,我想将其设置为DisplayMember 但是,我在组合框中看到的所有内容都是根据数据行数的空行。 我做错了什么 DataTable dataTableManufacturers; dm = new DatabaseManagement.DatabaseManagement(Properties.Settings.Default.DBServer,Properties.Settings.D

我有
数据表
,其中包含必要的
数据行
,我想在
组合框
中显示这些数据行。 第二个
DataColumn
称为
VALUE
,我想将其设置为
DisplayMember

但是,我在
组合框中看到的所有内容都是根据
数据行数的空行。
我做错了什么

DataTable dataTableManufacturers;
dm = new DatabaseManagement.DatabaseManagement(Properties.Settings.Default.DBServer,Properties.Settings.Default.DBName, Properties.Settings.Default.DBUser, Properties.Settings.Default.DBPassword);
dataTableManufacturers = dm.getManufacturers();

combxManufacturer.DisplayMemberPath = "VALUE";

foreach (DataRow row in dataTableManufacturers.Rows)
{
    combxManufacturer.Items.Add(row);
}

尝试设置combxManufacturer.ItemsSource=dataTableManufacturers.Rows
而不是单独添加行。

DisplayMemberPath
应该是
“[VALUE]”
,因为您打算使用(而不是属性)获取数据。有关更多信息,请参阅MSDN上的


(重要的!)“WPF方法”是设置控件的
ItemSource
,而不是手动添加到
Items
集合。

尝试设置
combxManufacturer.ItemsSource
属性

combxManufacturer.ItemsSource = dataTableManufacturers.AsDataView;

而且不需要添加项目

我试过了,我知道它确实有效

private DataTable testTable = new DataTable();
        testTable.Columns.AddRange(new DataColumn[]
            {
                new DataColumn("ID", typeof(int)), 
                new DataColumn("Name", typeof(string)), 
            });
        var row = testTable.NewRow();
        row[0] = 1;
        row[1] = "My Name";
        testTable.Rows.Add(row);
        myTestCmb.ItemsSource = TestTable.AsDataView();

<ComboBox x:Name ="myTestCmb" DisplayMemberPath="Name" />
private DataTable testTable=new DataTable();
testTable.Columns.AddRange(新的DataColumn[]
{
新数据列(“ID”,类型(int)),
新数据列(“名称”,类型(字符串)),
});
var row=testTable.NewRow();
行[0]=1;
行[1]=“我的名字”;
testTable.Rows.Add(行);
myTestCmb.ItemsSource=TestTable.AsDataView();

尝试设置
combxManufacturer.ItemsSource=dataTableManufacturers而不是单独添加行。@paul你说得对,但需要帮助dataTableManufacturers。行。干杯!非常感谢你!我是初学者,所以觉得你的答案很有价值!