将列表绑定到DataGrid

chr*_*ers 10 wpf binding datagrid

我在WPF中将a绑定List到a时遇到问题DataGrid.让我解释一下我的尝试.

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

List<SomeInfo> arrSomeInfo;
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

我试过以下没有成功:

this.grdMailbag.ItemsSource = arrSomeInfo; //Didn't worked
this.grdMailbag.DataContext= arrSomeInfo;  // Didn't worked
Run Code Online (Sandbox Code Playgroud)

发生的事情是它按行添加行,List arrSomeInfo但所有行都是空白的.

Fed*_*gui 15

改变这个:

public struct SomeInfo
{
    public string Name;
    public string Description;
    public string ID;
}
Run Code Online (Sandbox Code Playgroud)

对此:

public class SomeInfo
{
    public string Name {get;set;}
    public string Description {get;set;}
    public string ID {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

WPF不支持绑定到字段.只有属性.struct对于您尝试表示的数据,a 不是合适的类型.