是否只能绑定Datagrid上的列表?

时间:2017-09-20 13:17:59

标签: c# wpf

我是这堂课:

public class Last5Match
{
        public List<Match> HomeTeamMatches { get; set; } = new List<Match>(5);
        public List<Match> AwayTeamMatches { get; set; } = new List<Match>(5);
        public string HomeTeamName { get; set; }
        public string AwayTeamName { get; set; }
    }

以这种方式实现:

Last5Match _lastFiveMatches = new Last5Match();

我不需要声明这样的列表:

List<Last5Match> _lastFiveMatches = new List<Last5Match>();

&#39;因为在这个对象中我有两个列表。我需要的是绑定对象:

 public Last5Match LastFiveMatches
    {
        get
        {
            return _lastFiveMatches;
        }
        set
        {
            _lastFiveMatches = value;
            OnPropertyChanged();
        }
    }

在我的Datagrid上,访问列表HomeTeamMatchesAwayTeamMatches的属性,只需添加以下内容:

<DataGrid 
    AutoGenerateColumns="False" 
    ItemsSource="{Binding LastFiveMatches}">
    <DataGridTextColumn Header="5" Binding="{Binding HomeTeamName[0].Nameoftheproperty}"/>
这可能吗? &#39;因为实际上我没有显示任何值,如果我将其替换为ItemSource LastFiveMatches.HomeTeamMatches我得到了这个工作,但我只能访问HomeTeamMatches的属性

1 个答案:

答案 0 :(得分:1)

你可以创建一个名为TotalMatches的新属性

public class Last5Match
{
        public List<Match> HomeTeamMatches { get; set; } = new List<Match>(5);
        public List<Match> AwayTeamMatches { get; set; } = new List<Match>(5);
        public string HomeTeamName { get; set; }
        public string AwayTeamName { get; set; }
        public List<Match> TotalMatches
        {
           get{ return HomeTeamMatches.Union(AwayTeamMatches).ToList(); }
        }
    }

然后将您的网格绑定到TotalMatches