gpt4 book ai didi

c# - 是否可以将 CollectionView 与 LongListSelector 一起用于分组?

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:39 25 4
gpt4 key购买 nike

我正在尝试将 LongListSelector 与 CollectionView 结合使用。似乎 CollectionView 拥有所需的所有“东西”,但是当我连接两者时,什么也没有发生。这是我到目前为止所拥有的:

在我的控件的构造函数(包含 LLS 的那个人)中,我构建了 CollectionView:

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

然后,每当相关的依赖属性(包含我想放入 LLS 的列表的属性)发生变化时,我就会将其分配给 m_view 并将组分配给 ItemsSource:

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

当我检查 .Groups 属性时,信息似乎是正确的 - 它具有正确数量的项目,并且每个项目都有似乎正确的子项目。然而,看起来一切都是内部的,因此 LLS 似乎无法显示相关信息。当我用模拟集合替换 CollectionView 时,LLS 会显示信息(所以我非常有信心 LLS 设置正确)

这是我在 LLS 中使用的内容 - 请注意,我在几个地方使用“XXXX”而不是绑定(bind),以确保不会因为错误的绑定(bind)而以某种方式破坏:

<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>

最佳答案

我遇到了同样的问题。 LongListSelector 似乎不适用于 CollectionView。我通过将它绑定(bind)到 ObservableCollection 来解决这个问题。我花了两天时间弄清楚为什么 LongListSelector 没有显示任何项目。奇怪的是 CollectionView.IsEmpty 用于改变可见性(当然是通过转换器)。但是显示项目不起作用。

关于c# - 是否可以将 CollectionView 与 LongListSelector 一起用于分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10023403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com