使用一个简单的示例,FlowListView无法正常工作

时间:2017-03-03 01:26:51

标签: listview xamarin xamarin.forms

我创建了一个基本的FlowListView,但我似乎无法让它工作。它适用于基本的Xamarin ListView,但当切换到FLowListView时,它只显示正确的行数但它们是空的。

我哪里错了?

 <?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:flv="clr-namespace:DLToolkit.Forms.Controls;assembly=DLToolkit.Forms.Controls.FlowListView" xmlns:ffimageloading="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="rateStyle.ReviewPage">
<ContentPage.Content>
    <StackLayout Orientation="Horizontal">
        <flv:FlowListView x:Name="listy" FlowColumnCount="2" SeparatorVisibility="None" HasUnevenRows="true">
            <flv:FlowListView.FlowColumnTemplate>
                <DataTemplate>
                    <StackLayout>
                        <Label Text="{Binding Title}" />
                        <!--
                        <Image Source="{Binding Picture}" />
                        -->
                    </StackLayout>
                </DataTemplate>
            </flv:FlowListView.FlowColumnTemplate>
        </flv:FlowListView>
    </StackLayout>
</ContentPage.Content>

public partial class ReviewPage : ContentPage
{
    public ReviewPage()
    {
        InitializeComponent();

        var data = new List<Outfit>();
        var a = new Outfit { Title = "aaa", Picture="https://farm9.staticflickr.com/8625/15806486058_7005d77438.jpg" };
        var b = new Outfit { Title = "bbb", Picture = "https://farm5.staticflickr.com/4011/4308181244_5ac3f8239b.jpg" };
        var c = new Outfit { Title = "ccc", Picture = "https://farm8.staticflickr.com/7423/8729135907_79599de8d8.jpg" };

        data.Add(a); data.Add(b); data.Add(c);

        listy.ItemsSource = data;
    }
}

1 个答案:

答案 0 :(得分:2)

如果您还没有想到这一点,您需要设置FlowItemsSource,而不是ItemSource。像这样:

public partial class ReviewPage : ContentPage
{
    public ReviewPage()
    {
        InitializeComponent();

        var data = new List<Outfit>();
        var a = new Outfit { Title = "aaa", Picture="https://farm9.staticflickr.com/8625/15806486058_7005d77438.jpg" };
        var b = new Outfit { Title = "bbb", Picture = "https://farm5.staticflickr.com/4011/4308181244_5ac3f8239b.jpg" };
        var c = new Outfit { Title = "ccc", Picture = "https://farm8.staticflickr.com/7423/8729135907_79599de8d8.jpg" };

        data.Add(a); data.Add(b); data.Add(c);

        listy.FlowItemsSource = data;
    }
}