x: тип привязки не найден

Я пытаюсь использовать CollectionViewSource в моем XAML для того, чтобы сгруппировать 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>

Согласно документации это должно привести предмет к IGrouping объект, который затем дает мне доступ к Key имущество. Тем не менее, я получаю сообщение об ошибке

Неверный путь привязки '((linq:IGrouping)Group). Ключ: Тип'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 ответ

Решение

Сообщение об ошибке верно:

Тип 'linq:IGrouping' не может быть найден.

Здесь нет IGrouping введите LINQ, однако есть IGrouping<out TKey, out TElement> Тип, который не то же самое. Такое приведение не удастся и в C#.

XAML не позволяет указывать параметры универсального типа, поэтому я думаю, что вы застряли с обычной привязкой: Text="{Binding Key}"

Другие вопросы по тегам