Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以只绑定Datagrid上的列表?_C#_Wpf - Fatal编程技术网

C# 是否可以只绑定Datagrid上的列表?

C# 是否可以只绑定Datagrid上的列表?,c#,wpf,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

我上过这门课:

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; }
    }
我不需要声明这样的列表:

List<Last5Match> _lastFiveMatches = new List<Last5Match>();
在我的Datagrid上,访问列表的属性
HomeTeamMatches
AwayTeamMatches
只需添加如下内容:

<DataGrid 
    AutoGenerateColumns="False" 
    ItemsSource="{Binding LastFiveMatches}">
    <DataGridTextColumn Header="5" Binding="{Binding HomeTeamName[0].Nameoftheproperty}"/>


这可能吗?”因为实际上,如果我替换为ItemSource
LastFiveMatches.HomeTeamMatches,我不会显示任何值。HomeTeamMatches
我可以工作,但我只能访问HomeTeamMatches的属性

您可以创建一个名为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(); }
        }
    }
public类Last5Match
{
公共列表HomeTeamMatches{get;set;}=新列表(5);
公共列表awaytammatches{get;set;}=新列表(5);
公共字符串HomeTeamName{get;set;}
公共字符串AwayTeamName{get;set;}
公共列表总匹配项
{
获取{return HomeTeamMatches.Union(AwayTeamMatches.ToList();}
}
}

然后将网格绑定到TotalMatches

我认为可能需要一个接口来实现IEnumerable,或者将网格绑定到列表属性grid1.datasource=last5matches.List1,但这样我怎么知道哪些匹配属于HomeTeamMatches和AwayTamMatches?为iSometeam添加一个匹配属性?@fantozzi,而不是管理两个单独列表您的对象应该有一个布尔值(或枚举)来指定对象的“类型”。这将使things@fantozzi这会使事情复杂化吗?你有一个
Match
,它有一个指示器,指示它是什么类型的
Match
,这是很自然的方法。
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(); }
        }
    }
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(); }
        }
    }