C# 长列表选择器的分组无法在最后一部分转换

C# 长列表选择器的分组无法在最后一部分转换,c#,windows-phone-8,grouping,longlistselector,C#,Windows Phone 8,Grouping,Longlistselector,我有以下课程: public class Grouping<TKey, TElement> : IGrouping<TKey, TElement> { private readonly IGrouping<TKey, TElement> _group; public Grouping(IGrouping<TKey, TElement> group) { this._group = group; }

我有以下课程:

public class Grouping<TKey, TElement> : IGrouping<TKey, TElement>
{
    private readonly IGrouping<TKey, TElement> _group;
    public Grouping(IGrouping<TKey, TElement> group)
    {
        this._group = group;
    }
    public TKey Key { get { return _group.Key; } }
    public IEnumerator<TElement> GetEnumerator()
    {
        return _group.GetEnumerator();
    }
    IEnumerator IEnumerable.GetEnumerator()
    {
        return _group.GetEnumerator();
    }
}

public class Sections
{
    public IEnumerable<Organisation> Organisations { get; set; }
}
公共类分组:i分组
{
私有只读i组_组;
公共分组(I分组组)
{
这个组=组;
}
公用TKey密钥{get{return}group.Key;}
公共IEnumerator GetEnumerator()
{
返回_group.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
返回_group.GetEnumerator();
}
}
公共课组
{
公共IEnumerable组织{get;set;}
}
以及使用它的以下代码(OrganizationRepository返回IEnumerable):

OrganizationRepository=新的OrganizationRepository();
var tempOrganisations=await organizationrepository.GetAll();
var groupedorganizations=来自临时组织中的当前组织
按currentOrg.name将currentOrg分组为分组
选择新分组(分组);
sections.organization=集团组织;
组织=空;
sections.Organizations是一个
IEnumerable
,因此我得到以下错误:

Error   1   Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<*.ViewModel.Grouping<string,*.Models.*.Models.Entities.Organisation>>' to 'System.Collections.Generic.IEnumerable<*.Models.*.Models.Entities.Organisation>'. An explicit conversion exists (are you missing a cast?) C:\Users\James\Documents\Visual Studio 2012\Projects\*\*\ViewModel\DashboardViewModel.cs    65  38  *
错误1无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“System.Collections.Generic.IEnumerable”。存在显式转换(是否缺少转换?)C:\Users\James\Documents\Visual Studio 2012\Projects\*\*\ViewModel\DashboardViewModel.cs 65 38*
知道如何将分组转换为IEnumerable吗

+       $exception  {System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.List`1[*.ViewModel.AlphaKeyGroup`1[*.Models.*.Models.Entities.Organisation]]' to type 'System.Collections.Generic.IEnumerable`1[*.Models.*.Models.Entities.Organisation]'.
   at *.ViewModel.DashboardViewModel.<LoadOrganisationSection>d__2.MoveNext()}  System.Exception {System.InvalidCastException}
资料来源:

更好的资料来源:(我会尝试一下,现在我已经找到了)

非常感谢:

编辑://

我现在在家,尝试了很多不同的方法,但转换成IEnumerable仍然存在问题

+       $exception  {System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.List`1[*.ViewModel.AlphaKeyGroup`1[*.Models.*.Models.Entities.Organisation]]' to type 'System.Collections.Generic.IEnumerable`1[*.Models.*.Models.Entities.Organisation]'.
   at *.ViewModel.DashboardViewModel.<LoadOrganisationSection>d__2.MoveNext()}  System.Exception {System.InvalidCastException}
+$exception{System.InvalidCastException:无法将“System.Collections.Generic.List`1[*.ViewModel.AlphaKeyGroup`1[*.Models.*.Models.Entities.Organization]”类型的对象强制转换为“System.Collections.Generic.IEnumerable`1[*.Models.*.Models.Entities.Organization]”。
位于*.ViewModel.DashboardViewModel.d_u2.MoveNext()}System.Exception{System.InvalidCastException}
以下是我目前正在做的事情:

var tempOrganisations = await organisationRepository.GetAll();
            List<AlphaKeyGroup<Organisation>> groupedOrganisations = AlphaKeyGroup<Organisation>.CreateGroups(tempOrganisations,
                System.Threading.Thread.CurrentThread.CurrentUICulture,
                (Organisation o) => { return o.name; }, true);


            sections.Organisations = (IEnumerable<Organisation>)groupedOrganisations; 
var-tempOrganisations=await-organizationrepository.GetAll();
列表组组织=AlphaKeyGroup.CreateGroups(临时组织,
System.Threading.Thread.CurrentThread.CurrentUICulture,
(组织o)=>{return o.name;},true);
部门组织=(IEnumerable)集团组织;

使用Microsoft自己的AlphaKeyGroup类

您试图实现的目标有些错误。GroupedOrganizations查询的结果将是一个分组列表,你不能将其转换为IEnumerable,你能提供更多关于你试图在这里实现什么的详细信息吗?我正在为长列表选择器控件准备一个IEnumerable列表,它需要一些分组键。这就是我所说的:。。。如果分组类似于我的组织的“name”属性,那么说明我也在尝试执行MVVM可能会有所帮助,因此为该项执行代码隐藏,只是将值分配给它不是一个选项。我刚刚将数据的viewmodel版本转换为List,解决了问题。。耶哈