细胞不显示完整的图像

时间:2017-07-30 20:54:27

标签: xaml listview xamarin layout xamarin.forms

我想要一个黄色背景的单元格和一个带文字的橙色框和一个中等大小的图像,但它不起作用。图像看起来不大,我无法使用保证金

这是我的XAML

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="neoFly_Montana.Views.PromocoesView"
         BackgroundImage="promocoesbackground"
         Title="Promoções">
<ContentPage.Content>
    <ListView x:Name="listview_promocoes" Margin="0, 20, 0, 0 ">
            <ListView.ItemTemplate>
                <DataTemplate>
                <ViewCell>

                    <StackLayout BackgroundColor="AliceBlue" HorizontalOptions="Center" VerticalOptions="FillAndExpand">
                        <Label Text="{Binding titulo}" Style="{StaticResource labelsfont}"/>

                        <Image Source="{Binding imagem}" Aspect="AspectFill"/>
                    </StackLayout>


                </ViewCell>


            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>


</ContentPage.Content>

这是不好的结果(有2个项目 - 你不能看到图像)

enter image description here

我想做这样的事情,但我不能使用保证金,因为当我使用它时,该应用程序无法正常工作。

enter image description here

它必须是ListView的一个项目。 所有项目都应该是这样的。

我该怎么做? 谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容在ListView项目中获取该布局:

<ListView
        RowHeight="170" 
        ItemsSource="{Binding Items}">
    <ListView.ItemTemplate>
        <DataTemplate>
        <ViewCell>
            <!-- Outter box containing two boxes -->
            <StackLayout 
                        VerticalOptions="FillAndExpand">
                <!-- First box with Title, Image and Text -->
                <StackLayout 
                            VerticalOptions="FillAndExpand" 
                            Padding="10, 5" 
                            BackgroundColor="Yellow">
                    <Label 
                            Text="YOUR_TITLE"
                            BackgroundColor="Silver"/>
                    <Image 
                            HorizontalOptions="FillAndExpand" 
                            BackgroundColor="Fuchsia" 
                            HeightRequest="60" />
                    <Label 
                            Text="YOUR_OTHER_TEXT"
                            BackgroundColor="Silver"/>
                </StackLayout>

                <!-- Second box with Text -->
                <StackLayout 
                            VerticalOptions="End" 
                            Margin="0, 8, 0, 0" 
                            Padding="10, 5" 
                            BackgroundColor="Lime">
                    <Label 
                            Text="YOUR_TEXT_OTHER_BOX"
                            BackgroundColor="Silver"/>
                </StackLayout>
            </StackLayout>
        </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

我想你可能需要做一些小改动才能完全按照你的意愿去做,但这非常接近。

结果:

enter image description here

希望这会有所帮助.-