我在绑定(bind) List
时遇到问题到 DataGrid
在 WPF 中。让我解释一下我所尝试的。
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
添加行。但所有行都是空白的。
最佳答案
改变这个:
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 不支持绑定(bind)到字段。只有属性。还有一个
struct
不是您要表示的数据的合适类型。
关于wpf - 将列表绑定(bind)到 DataGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068413/