我正在尝试使用 Xamarin.forms 在 stacklayout 中呈现一个集合视图。但是collectionview 没有显示任何数据。我正在使用 Visual Studio for Mac 在 ios 上进行测试。
我正在尝试学习在 ios 中使用 collectionview 和 Xamarin.Forms 基础知识
我已经按照这里找到的 microsoft git repo for xamarin.forms 的最基本示例: https ://github.com/xamarin/xamarin-forms-samples/blob/master/UserInterface/CollectionViewDemos/CollectionViewDemos/Views/Layout/HorizontalListTextPage .xaml
我已将简单示例复制到 Mainpage.xaml 文件中我自己的项目中,但只有在删除外部 Stacklayout 时才能看到 collectionview 数据,如下所示
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:demo" x:Class="demo.MainPage">
<CollectionView ItemsLayout="{x:Static ListItemsLayout.HorizontalList}">
<CollectionView.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Baboon</x:String>
<x:String>Capuchin Monkey</x:String>
<x:String>Blue Monkey</x:String>
<x:String>Squirrel Monkey</x:String>
<x:String>Golden Lion Tamarin</x:String>
<x:String>Howler Monkey</x:String>
<x:String>Japanese Macaque</x:String>
<x:String>Mandrill</x:String>
<x:String>Proboscis Monkey</x:String>
<x:String>Red-shanked Douc</x:String>
<x:String>Gray-shanked Douc</x:String>
<x:String>Golden Snub-nosed Monkey</x:String>
<x:String>Black Snub-nosed Monkey</x:String>
<x:String>Tonkin Snub-nosed Monkey</x:String>
<x:String>Thomas's Langur</x:String>
<x:String>Purple-faced Langur</x:String>
<x:String>Gelada</x:String>
</x:Array>
</CollectionView.ItemsSource>
</CollectionView>
</ContentPage>
我添加了 Forms.SetFlags("CollectionView_Experimental"); 到appdelete
即使我的 mainpage.xaml 中存在堆栈布局,我也希望数据可见。
更新 如果我显式设置高度,则collectionview数据是可见的,但这在此解决方案的任何示例中都没有完成,但在我链接到的示例布局中,它们没有显式设置高度,这适用于所有示例在这里找到 https://github.com/xamarin/xamarin-forms-samples/tree/master/UserInterface/CollectionViewDemos
如果我开始示例解决方案,他们一切都按预期工作,但如果我将示例复制到我自己的解决方案中,我需要明确设置高度。
更新 如果 MainPage 包含在导航页面中,一切都按预期工作
MainPage = new NavigationPage(new MainPage());
但默认
MainPage = new MainPage()
什么都没有