XAML 为什么xamarin表单列表视图中的组标题在发布模式下不可见?

jvlzgdj9  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(84)

我有一个列表视图,其中的组标题在发布模式下不可见,而在调试模式下则不可见。
这是调试模式

的屏幕截图
这是发布模式

的屏幕截图
我曾尝试更新NuGet扩展,Android版本,甚至试图在另一部手机中构建应用程序,但没有任何工作.
XAML文件:

<ListView x:Name="myList" 
                  HasUnevenRows="True" 
                  ItemSelected="MyList_ItemSelected"
                  IsGroupingEnabled="True">
            <ListView.GroupHeaderTemplate>
                <DataTemplate>
                    <ViewCell>
                        <ViewCell.View>
                            <StackLayout>
                                <Label Text="{Binding Key}"/>
                            </StackLayout>
                        </ViewCell.View>
                    </ViewCell>
                </DataTemplate>
            </ListView.GroupHeaderTemplate>

...

</ListView>

政务司司长:

var groupedCompanies = companies.Where(x => !x.status.StartsWith("1") &&  
                                            !x.status.StartsWith("9"))
                                .GroupBy(x => x.status);

ObservableCollection<IGrouping<string, Company>> collection = new ObservableCollection<IGrouping<string, Company>>(groupedCompanies);

myList.ItemsSource = collection;

我希望在发布模式下构建应用程序,组标头作为调试模式标头可见,并且不知道是什么导致了这个问题。

lp0sw83n

lp0sw83n1#

我在Android上也遇到了同样的问题,在实现了我自己的分组后,它工作得很好。

public class MyGrouping<K, T> : ObservableCollection<T>
{
   public K Key { get; private set; }

   public MyGrouping(K key, IEnumerable<T> items)
   {
     Key = key;
     foreach (var item in items)
        this.Items.Add(item);
   }
}
ecfdbz9o

ecfdbz9o2#

我刚才遇到了一个类似的问题。问题是IGrouping上的Key属性或它的实现被链接走了。
在我的代码中,我做了如下操作:

bool falseFlag = false;
if (falseFlag)
{
    Console.WriteLine(groupedCompanies.First().Key);
}

这就足以解决这个问题了。如果可以避免的话,禁用链接并不是一个好的选择。

相关问题