WPF GridView-动态绑定自定义类



我想将球员类的列表(代表美国足球运动员的统计数据)绑定到GridView。我代表这些玩家的方式(在模型级别上,所以我可以在模型视图中更改)给我带来了很多麻烦。

class Player
{
public string Name { get; set; }
public List<Statistic> Statistics { get; set; }
}
class Statistic
{
public string ShortName { get; set; }
public double Value { get; set; }
public StatisticCategory Category { get; set; }
}
enum StatisticCategory
{
Offense,
Defense
}

我想将这些玩家的列表绑定到一个可以按列排序的视图中。对于列,我希望执行以下操作:取一个组合框的值,将其转换为StatisticCategory对象,然后选择所有玩家的同一类别中的所有统计信息(当然,每个统计信息只有一次)。绑定到这些列的数据应该是统计数据的值(如果玩家有给定的统计数据),否则应该是字符"-"或类似的字符,表示缺少数据。

我考虑过很多使用在线教程的选项,但似乎没有一个涵盖这种绑定,我甚至不确定这是否可能。

也许我应该考虑我的数据的其他表示,如果你对此有建议,我也将不胜感激。

您可以使用作为ListView或其他XAML控件的一部分公开的DataTemplate。

<DataTemplate xmlns:mylib="clr-namespace:MyLib.Players" DataType="{x:Type mylib:Player}">
<!-- template -->
</DataTemplate>

此模板也可以列为共享资源,因此可以从多个地方访问。

最新更新