我试图用的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>