我想将一个Player类的List(表示美式足球运动员的统计数据)绑定到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对象,然后选择所有玩家的同一类别中的所有统计数据(当然每个只有一次)。绑定到这些列的数据应该是统计数据的值(如果玩家具有给定的统计数据),否则字符“ - ”或类似的东西,表示缺少数据。
我已经考虑过使用在线教程的许多选项,但似乎没有任何选项涵盖这种绑定,我甚至不确定这是否可行。
也许我应该考虑我的数据的其他表示,如果您有关于此的建议,我们将不胜感激。
答案 0 :(得分:0)
您可以使用DataTemplate作为ListView或其他XAML控件的一部分公开。
<DataTemplate xmlns:mylib="clr-namespace:MyLib.Players" DataType="{x:Type mylib:Player}">
<!-- template -->
</DataTemplate>
此模板也可以列为共享资源,因此可以从许多地方访问它。