1

我想将 Player 类的列表(代表美式足球运动员的统计数据)绑定到 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 对象,然后选择所有玩家的同一类别中的所有统计信息(当然每个只有一次)。绑定到这些列的数据应该是统计数据的值(如果玩家有给定的统计数据),否则字符“-”或类似的东西,表示缺少数据。

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

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

4

1 回答 1

0

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

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

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

于 2012-12-05T00:50:51.290 回答