Я знаю, что это общий вопрос, но, насколько я могу видеть из других сообщений, я делаю все правильно ... очевидно, что нет.Почему мой WPF CompboBox Пустой
Мой C# в код
InitializeComponent();
cboCustomerIds.DataContext = new Customers();
Мой C# в бизнес-объектов Tier
namespace BusinessObjects
{
public class Customers
{
public class Customer
{
public Int64 CustomerId { get; set; }
}
public List<int> CustomerIds { get; set; }
public Customers()
{
DataLayer dl = new DataLayer();
SqlDataReader reader = dl.GetSqlDataReader("GetCustomerIds");
List<Int64> CustomerIds = new List<Int64>();
try
{
if (reader.HasRows)
{
do
{
Int64 thing = 0;
thing = (Int64)reader["CustomerId"];
CustomerIds.Add(thing);
int count = CustomerIds.Count;
Int64 id = CustomerIds[count-1];
}
while (reader.Read());
}
}
catch
{
throw;
}
finally
{
reader.Close();
}
}
}
}
C# делает подсчет CustomerIds таким образом я могу bebug и подтвердить детали возвращаются из базы данных и добавлены в список. Мой XAML
<Grid>
<ComboBox x:Name="cboCustomerIds" ItemsSource="{Binding CustomerIds}" DisplayMemberPath="CustomerId" Width="120">
</ComboBox>
</Grid>
Он строит без ошибок и работает. Он вызывает конструктор Customers и строит список CustomerIds, но cboCustomerIds отображает пустой список.
Попробуйте удалить 'DisplayMemberPath' атрибут на ComboBox. – Gjeltema
Спасибо @Gjeltema, но я только добавил DisplayMemberPath после того, как он не работал без него. –