列表视图 - > ViewCell - > StackLayout:并非整个内容都显示出来

时间:2016-09-21 09:30:23

标签: c# listview xamarin xamarin.forms

编辑:我能够通过添加" HasUnevenRows =" True"来解决问题。到ListView。不知道为什么会这样,但是,嘿,问题已经消失了; D

Edit2:来自docs

  

应用程序开发人员会发现,自动调整内容列表视图行的最简单且最不容易出错的方法是:首先,将ListView.HasUnevenRows属性设置为true;

我实现了以下Listview:

<ListView x:Name="ListView"
                      IsPullToRefreshEnabled="True"
                      ItemSelected="ListView_ItemSelected"
                      Refreshing="ListView_Refreshing">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Vertical">
                                <Image HorizontalOptions="Center" Source="{Binding MyObjectValue1, Converter={StaticResource Base64ToImageConverter}}" />
                                <Label FontAttributes="Bold" Text="{Binding MyObjectValue2}" />
                                <Label Text="{Binding MyObjectValue3}" />
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

C#中ListView的内容:

ListView.ItemsSource = listOfMyObject;

注意:图像处理正常,不用担心。

问题:当我部署应用程序时,只有图像显示在正常大小的列表视图单元格中。两个实验室不可见。我想要实现的目标:

------------------
|       Pic      |
|      Label1    |
|      Label2    |
|                |
| Next List Entry|
|       ...      |
------------------ //Yes it is a small phone with the shape of a square cuz I am lazy ;D

我怎样才能做到这一点?

干杯!

1 个答案:

答案 0 :(得分:0)

试试这个:

        <ViewCell>
          <StackLayout Orientation="Vertical">
            <Image Aspect="Fill" HorizontalOptions="Center" Source="{Binding MyObjectValue1, Converter={StaticResource Base64ToImageConverter}}" /> 
            <StackLayout Orientation="Vertical">                              
            <Label FontAttributes="Bold" Text="{Binding MyObjectValue2}" />
            <Label Text="{Binding MyObjectValue3}" />
            </StackLayout>
          </StackLayout>
        </ViewCell>