我正在尝试在我的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。
答案 0 :(得分:2)
错误消息正确无误:
类型&#39; linq:IGrouping&#39;无法找到。
LINQ中没有IGrouping
类型,但是IGrouping<out TKey, out TElement>
类型不是一回事。这样的演员也会在C#中失败。
XAML
不允许指定泛型类型参数,因此我认为您坚持使用普通绑定:Text="{Binding Key}"