【问题标题】:Xamarin.Forms CarouselView doesn't display ListViewsXamarin.Forms CarouselView 不显示 ListViews
【发布时间】: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


【解决方案1】:

原因是您需要在使用 CV 时指定HeightRequestWidthRequestStackLayout 的垂直\水平选项。使用Grid 以获得更一致的行为

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    相关资源
    最近更新 更多