我在将List
绑定到WPF中的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
添加行,但所有行都是空白的。
答案 0 :(得分:15)
改变这个:
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
对于您尝试表示的数据来说并不合适。