2016-04-10 5 views
0

Ich habe dieses Stück Code:Bindung eine Liste von Objekten zu einem Listview

public class Member 
    { 
     public string name; 
     public string id; 
     public int days; 
     public string check; 

    } 

private void Function(object sender, RoutedEventArgs e) 
    { 
     if(ValidateInput()) 
     { 
      List<Member> Members = new List<Member>(); 
      API.Authenticate(key,id); 
      Members = API.Method1(); 

      Members = API.Method2(Members); 

      foreach(Member item in Members) 
      { 
       Results.Items.Add(item); 
      } 

     } 
    } 

und ich hinzufüge, um sie zu einem Listview, die eine DisplayMemberBinding für bestimmte Felder der Klasse haben.

<ListView.View> 
    <GridView AllowsColumnReorder="False" > 
     <GridViewColumn Header="Name" DisplayMemberBinding="{Binding name}" Width="150"/> 
     <GridViewColumn Header="Id" DisplayMemberBinding="{Binding id}" Width="130"/> 
     <GridViewColumn Header="Check" DisplayMemberBinding="{Binding check}" Width="220"/> 
     <GridViewColumn Header="Days" DisplayMemberBinding="{Binding days}" Width="120"/> 
    </GridView> 
</ListView.View> 

Und nach dem Eingriff erfolgen ich eine Listenansicht, die bevölkert ist, aber alle Spalten sind völlig leer und ich kann nicht sehen, wo das Problem ist. Ich habe versucht, die Daten zu überprüfen, aber alles war in Ordnung.

Was mache ich hier falsch? und natürlich wurden Namen geändert, um das eigentliche Ziel der Anwendung zu verschleiern, da es sich um ein kniffliges Projekt handelt.

Antwort

0

Ich habe das Problem entdeckt. Das Problem ist, dass Elemente, die mit DisplayMemberBinding gebunden sind, Eigenschaften und keine Felder sein müssen.

public class Member 
{ 
    public string name { get; set; } 
    public string id { get; set; } 
    public int days { get; set; } 
    public string check { get; set; } 
} 

Dies behebt das Problem!

Verwandte Themen