2013-08-05 15 views
9

Mam problem z wiążącym się z List do w WPF. Pozwól mi wyjaśnić, co próbowałem.Lista powiązań z DataGrid

public struct SomeInfo 
{ 
    public string Name; 
    public string Description; 
    public string ID; 
} 

List<SomeInfo> arrSomeInfo; 

arrSomeInfo zawiera wiele elementów konstrukcji SomeInfo.

DataGrid wyglądał:

<DataGrid Name="grdMailbag" AutoGenerateColumns="False" ItemsSource="{Binding}"> 
    <DataGrid.Columns> 
     <DataGridTextColumn x:Name="cID" Binding="{Binding ID}" Header="ID" /> 
     <DataGridTextColumn x:Name="cName" Binding="{Binding Name}" Header="Name" /> 
     <DataGridTextColumn x:Name="cDescription" Binding="{Binding Description}" Header="Description" /> 
    </DataGrid.Columns> 
</DataGrid> 

Próbowałem następujących bez powodzenia:

this.grdMailbag.ItemsSource = arrSomeInfo; //Didn't worked 
this.grdMailbag.DataContext= arrSomeInfo; // Didn't worked 

Co się dzieje jest to, że dodanie wierszy zgodnie List arrSomeInfo ale wszystkie wiersze są pusty.

Odpowiedz

14

Zmień to:

public struct SomeInfo 
{ 
    public string Name; 
    public string Description; 
    public string ID; 
} 

do tego:

public class SomeInfo 
{ 
    public string Name {get;set;} 
    public string Description {get;set;} 
    public string ID {get;set;} 
} 

WPF nie obsługuje wiązania z pól. Tylko właściwości. I struct nie jest odpowiednim typem danych, które próbujesz reprezentować.

+0

zmiana go na właściwości działało .. Dzięki – chrismasters