是否有可能使用的CollectionView与LongListSelector进行分组?(Is it

2019-09-16 08:48发布

我试图用的CollectionView一起使用LongListSelector。 好像具有的CollectionView所有的“东西”需要的,但是当我连接两个,什么都不会发生。 这是我到目前为止有:

在我控制的构造函数(包含LLS的家伙),我构建的CollectionView:

GroupDescription group = new PropertyGroupDescription("FullName", new FirstLetterConverter(true, true));
m_view.GroupDescriptions.Add(group);

然后,只要相关的依赖属性的变化,我去,并分配到m_view和分配组的ItemsSource(包含列表我希望把在LLS的):

private void FriendsChanged()
{
    m_view.Source = Friends;
    friendList.ItemsSource = m_view.View.Groups;

当我检查.Groups财产,信息似乎是犹太 - 它拥有的项目适量每个项目都有子项,似乎是正确的。 然而,它看起来像一切是内部的,因此在LLS似乎是无法显示相关信息。 当我更换一个模拟集合的CollectionView的东西,在LLS确实显示信息(所以我非常相信,LLS设置正确)

下面是我对LLS使用 - 注意,而不是结合,我用“XXXX”在一些地方,以确保没有被莫名其妙的错误,因为破绑定:

<toolkit:LongListSelector x:Name="friendList">
  <toolkit:LongListSelector.ItemTemplate>
    <DataTemplate>
      <Grid>
        <Grid.ColumnDefinitions>
          <ColumnDefinition Width="auto"/>
          <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Image Source="{Binding ThumbnailImage}" Width="62" Height="62"/>
        <TextBlock Text="{Binding FullName}"/>
      </Grid>
    </DataTemplate>
  </toolkit:LongListSelector.ItemTemplate>
  <toolkit:LongListSelector.GroupHeaderTemplate>
    <DataTemplate>
      <Border Background="{StaticResource PhoneAccentBrush}" Padding="{StaticResource PhoneTouchTargetOverhang}" Width="200" HorizontalAlignment="Left">
        <!--<TextBlock Text="{Binding Name}" Style="{StaticResource PhoneTextLargeStyle}"/>-->
        <TextBlock Text="XXXX" Style="{StaticResource PhoneTextLargeStyle}"/>
      </Border>
    </DataTemplate>
  </toolkit:LongListSelector.GroupHeaderTemplate>
  <toolkit:LongListSelector.GroupItemTemplate>
    <DataTemplate>
      <Border Background="{StaticResource PhoneAccentBrush}" Margin="{StaticResource PhoneTouchTargetOverhang}" Padding="{StaticResource PhoneTouchTargetOverhang}" Width="180">
        <TextBlock Text="XXXX" Style="{StaticResource PhoneTextLargeStyle}"/>
        <!--<TextBlock Text="{Binding Name}" Style="{StaticResource PhoneTextLargeStyle}"/>-->
      </Border>
    </DataTemplate>
  </toolkit:LongListSelector.GroupItemTemplate>
</toolkit:LongListSelector>

Answer 1:

我有同样的问题。 这似乎LongListSelector不工作的CollectionView。 我被它绑定到一个ObservableCollection,而不是解决问题。 我花了两天时间弄清楚为什么LongListSelector不显示任何项目。 奇怪的是,CollectionView.IsEmpty工程打开可视性(直通课程的转换器)。 但它不工作来展示的项目。



文章来源: Is it possible to use CollectionView with LongListSelector for grouping?