我需要取得这样的结果:
xaml不允许通过代码创建行,所以我想将行逻辑实现为一个列表。每个列表都是一行。
我所做的基本上是:
LastFiveHomeAwayMatches2 = new List<List<string>>()
{
new List<string> {"Accrington", "D", "D", "W", "W", "W", "11" },
new List<string> { string.Empty, "1-1", "0-0", "0-1", "4-2", "0-3", string.Empty },
new List<string> {"Fos", "D", "D", "W", "W", "W", "11" },
new List<string> { string.Empty, "1-1", "0-0", "0-1", "4-2", "0-3", string.Empty },
};
但是,如何将这个多个列表绑定在Datagrid中以实现显示的结果呢?谢谢。更新
<DataGrid AutoGenerateColumns="False"
ItemsSource="{Binding MatchController.LatestFiveMatches}">
<DataGrid.Columns>
<DataGridTextColumn Header="Teams" />
<DataGridTextColumn Header="5" />
<DataGridTextColumn Header="4" />
<DataGridTextColumn Header="3" />
<DataGridTextColumn Header="2" />
<DataGridTextColumn Header="1" />
<DataGridTextColumn Header="Pt."/>
</DataGrid.Columns>
</DataGrid>
这不显示任何东西。如果数据栅格是空的,我也需要将其显示为标题列Teams, 5, 4, 3, 2, 1
。
发布于 2017-09-22 18:05:03
将List<string>
替换为要显示的每个列都具有公共属性的类型,例如:
LastFiveHomeAwayMatches2 = new List<RowType>()
{
new RowType { Team = "Accrington", A = "D", B = "D", C = "W", D = "W", E = "W", F = "11" },
...
};
dataGrid.ItemsSource = LastFiveHomeAwayMatches2;
public class RowType
{
public string Team { get; set; }
public string A { get; set; }
public string B { get; set; }
public string C { get; set; }
public string D { get; set; }
public string E { get; set; }
public string F { get; set; }
}
编辑:
还请注意,必须将每一列绑定到相应的属性:
<DataGridTextColumn Header="Teams" Binding="{Binding Team}" />
https://stackoverflow.com/questions/46370724
复制相似问题