我使用一个数组,并使用foreach来填充列表。但是WPF GUI只显示数组中的最后一项,而不是全部。绑定正确,我的代码中必须存在逻辑错误:
public ObservableCollection<Client> Clients { get; set; }
string[] clients = {
"XYZ.company.server",
"ABC.company.server"
}
foreach (string item in clients)
{
Client client = new Client(item);
Clients = new ObservableCollection<Client>();
Clients.Add(client);
}
this.DataContext = this;
GUI仅在ListView上显示“ ABC.company.server”。
您需要在循环之前声明collection。否则,您的收藏集只有一个项目,因为您只是添加到新创建的收藏集中的最后一个项目:
Clients = new ObservableCollection<Client>();
foreach (string item in clients)
{
Client client = new Client(item);
Clients.Add(client);
}