2013-08-05 92 views
9

我在将一个List绑定到WPF中的DataGrid时遇到问题。让我解释我所尝试过的。绑定列表到DataGrid

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

List<SomeInfo> arrSomeInfo; 

arrSomeInfo包含结构SomeInfo的多个项目。

DataGrid看起来类似:

<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> 

我曾尝试没有成功如下:

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

正在发生的事情是,它增加了行按List arrSomeInfo但所有行空白。

回答

14

更改此:

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

这样:

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

WPF不支持绑定到多个领域。只有属性。并且struct不适用于您试图表示的数据。

+0

将其更改为属性工作..谢谢 – chrismasters