1
我需要将存储在列表中的对象绑定到组合框。基本上我需要动态更新组合框项目的列表以便连续执行一组操作。这是我的代码:WPF绑定对象到组合框
class Broker
{
public List<Item> FillComboBox()
{
List<Item> itemList = new List<Item>();
try
{
string sql = "SELECT * FROM Sklad";
cmd = new SqlCommand(sql, connection);
connection.Open();
System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Item item = new Item();
item.Id = Convert.ToInt32(reader["Id"].ToString());
item.Znacka = reader["Znacka"].ToString();
item.Model = reader["Model"].ToString();
item.Typ = reader["Typ"].ToString();
item.Farba = reader["Farba"].ToString();
item.Mnozstvo = Convert.ToInt32(reader["Mnozstvo"].ToString());
item.NakupnaCena = Convert.ToDouble(reader["NakupnaCena"].ToString());
item.PredajnaCena = Convert.ToDouble(reader["PredajnaCena"].ToString());
itemList.Add(item);
}
return itemList;
}
catch (Exception eX)
{
MessageBox.Show(eX.Message);
return null;
}
finally
{
if (connection != null)
{
connection.Close();
}
}
}
我这样称呼它主要是这样的:
private void FillComboBox()
{
cmbItems.ItemsSource = broker.FillComboBox();
}
和它显然什么都不做。我错过了什么吗?
检查以确保FillCombobox实际上返回包含任何内容的列表。 – ouflak
作为一个测试,我会添加item.ToString()来代替,只是为了确保你的comboBox使用默认类型。所以试试itemList.Add(item.ToString());这可能是您的组合框根本不知道如何呈现您的项目类型。 – ouflak
为您显示XAML组合框 – Paparazzi