x:Bind 找不到类型

x:Bind type can't be found

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

CSV:

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

我的 DataTemplate 我在 GridView 上提供给 ItemTemplate 属性 用于 "zoomed out" 视图:

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

根据 documentation,这应该将项目转换为 IGrouping 对象,这样我就可以访问 Key 属性。但是,我不断收到错误消息

Invalid binding path '((linq:IGrouping)Group).Key' : Type 'linq:IGrouping' can't be found.

我定义的很清楚了:

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

我知道这不是错别字之类的,因为 linq:IGrouping 上的 Go to definition 工作得很好。

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

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

错误信息正确:

Type 'linq:IGrouping' can't be found.

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

XAML 不允许指定泛型类型参数,所以我认为您被普通绑定困住了:Text="{Binding Key}"