【发布时间】:2018-04-09 16:28:19
【问题描述】:
我尝试实现一个 CarouselView,它会在不同的屏幕上显示 2 个 ListView。但是,当我启动应用程序时,似乎什么也没发生,屏幕保持空白。我将 ListViews 简化为基本的字符串列表,但我仍然无法使 CarouselView 正常工作。我做错了什么?
XAML:
<StackLayout x:Name="Layout" Spacing="0">
<forms:CarouselView x:Name="CarouselView"
ItemSelected="CarouselView_OnItemSelected"
ItemsSource="{Binding lists}">
<forms:CarouselView.ItemTemplate>
<DataTemplate>
<ListView/>
</DataTemplate>
</forms:CarouselView.ItemTemplate>
</forms:CarouselView>
</StackLayout>
C#:
lists = new ObservableCollection<ListView>
{
new ListView
{
ItemsSource = new ObservableCollection<string>{
"test",
"test"
}
},
new ListView
{
ItemsSource = new ObservableCollection<string>{
"test",
"test"
}
}
};
当我在 CarouselView 中使用 Labels 而不是 ListViews 时,代码按预期工作。所以问题可能出在我为 CarouselView 定义 ItemSource 的方式上。我只是不知道如何解决它。
【问题讨论】:
-
您是否设法让它发挥作用?
-
是的,我尝试在代码隐藏中创建相同的组件,但由于某种原因它开始工作了。
标签: c# .net xamarin xamarin.forms