x:找不到绑定类型

时间:2017-08-22 13:15:44

标签: linq xaml uwp collectionviewsource xbind

我正在尝试在我的XAML中使用CollectionViewSource,以便将ListView分组。

CSV:

<CollectionViewSource x:Key="MyViewSource"
                      IsSourceGrouped="True"
                      Source="{Binding MyItems, Mode=OneWay}" />

我提供给我DataTemplate ItemTemplate属性的GridView我正用于“缩小”视图:

<DataTemplate x:Key="JumpTemplate"
              x:DataType="data:ICollectionViewGroup">
    <TextBlock FontSize="32"
               FontWeight="SemiLight"                       
               Text="{x:Bind ((linq:IGrouping)Group).Key}" />
</DataTemplate>

根据documentation,这应该将项目转换为IGrouping对象,然后可以访问Key属性。但是,我一直收到错误

  

无效的绑定路径'((linq:IGrouping)Group).Key':无法找到类型'linq:IGrouping'。

我已经非常明确地定义了它:

xmlns:data="using:Windows.UI.Xaml.Data"
xmlns:linq="using:System.Linq"

我知道这不是拼写错误或因为Go to definition上的linq:IGrouping工作得很好。

是否存在某些不允许使用的类型?

我在Windows 10 build 16257.1上,使用VS 2017和SDK Preview 16257。

1 个答案:

答案 0 :(得分:2)

错误消息正确无误:

  

类型&#39; linq:IGrouping&#39;无法找到。

LINQ中没有IGrouping类型,但是IGrouping<out TKey, out TElement>类型不是一回事。这样的演员也会在C#中失败。

XAML不允许指定泛型类型参数,因此我认为您坚持使用普通绑定:Text="{Binding Key}"