如何使用BoxView分隔网格中的两个元素?

时间:2018-07-23 17:08:01

标签: xamarin.forms box-view-api

我有一个ListView,其中包含带有一些Labels的网格,我想在两个Labale之间放置分隔线,但是这样做时,我必须向BoxView指出应该在网格的哪一行中进行操作因此,BoxView涵盖了网格的整个大小。线,有没有办法画一条细线而不画一条蓝线?

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:abstractions="clr-namespace:RoundedBoxView.Forms.Plugin.Abstractions;assembly=RoundedBoxView.Forms.Plugin.Abstractions"
             x:Class="FortiaApp.Views.frmMovimientos">
    <ContentPage.Content>
        <StackLayout
            VerticalOptions="CenterAndExpand"
            HorizontalOptions="CenterAndExpand">
            <Image x:Name="imgFortia" Source="fortia" HeightRequest="40"></Image>
            <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
                <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1" Source="Fondo1" Aspect="AspectFill"></Image>
                <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
                    <ListView 
                            BackgroundColor="Transparent"
                            HasUnevenRows="True"
                            x:Name="lsvTabla"
                            SeparatorVisibility="None"
                                  >
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <ViewCell>
                                    <Frame Padding="2" Margin="7,10,7,10" HeightRequest="100">
                                        <StackLayout>
                                            <Grid
                                                BackgroundColor="Transparent"
                                                >
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="*"/>
                                                    <ColumnDefinition Width="Auto"/>
                                                </Grid.ColumnDefinitions>

                                                <Grid.RowDefinitions>
                                                    <RowDefinition Height="*"/>
                                                    <RowDefinition Height="*"/>
                                                    <RowDefinition Height="Auto"/>
                                                </Grid.RowDefinitions>

                                                <Label
                                                    Grid.Row="0"
                                                    Grid.Column="0"
                                                    TextColor="#969696"
                                                    FontAttributes="Bold"
                                                    HorizontalOptions="Center"
                                                    Text="{Binding Comercio}"
                                                    />

                                                <Label
                                                    Grid.Row="1"
                                                    Grid.Column="0"
                                                    Grid.ColumnSpan="2"
                                                    Grid.RowSpan="3"
                                                    TextColor="#969696"
                                                    FontAttributes="Bold"
                                                    HorizontalOptions="Center"
                                                    Text="{Binding DescripcionImporte}"
                                                    />

                                                <Label
                                                    Grid.Row="0"
                                                    Grid.Column="1"
                                                    TextColor="#969696"
                                                    FontAttributes="Bold"
                                                    HorizontalOptions="Center"
                                                    Text="{Binding CodigoAutorizacion}"
                                                    />

                                                <Label
                                                    Grid.Row="1"
                                                    Grid.Column="1"
                                                    TextColor="#969696"
                                                    FontSize="Large"
                                                    HorizontalOptions="Center"
                                                    Text="{Binding Importe}"
                                                    />

                                                <BoxView BackgroundColor="blue"  HorizontalOptions="Fill" Grid.Row="3" Grid.ColumnSpan="2" HeightRequest="1"/>

                                                <Label
                                                    Grid.Row="4"
                                                    Grid.Column="1"
                                                    TextColor="#005a9f"
                                                    FontSize="Small"
                                                    HorizontalOptions="Center"
                                                    Text="{Binding Fecha}"
                                                    />

                                            </Grid>
                                        </StackLayout>
                                    </Frame>
                                </ViewCell>
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </ListView>
                </ScrollView>
            </AbsoluteLayout>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

enter image description here

我需要它是一条非常细的线,但是矩形太宽了,请,希望有人能帮助我

1 个答案:

答案 0 :(得分:1)

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>

    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="5"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Label Grid.Row="0" Grid.Column="0" />
    <Label Grid.Row="0" Grid.Column="1" />
    <Label Grid.Row="1" Grid.Column="1" />      
    <BoxView Grid.Row="2" Grid.Columnspan="2" 
        HorizontalOptions="FillAndExpand" VerticallOptions="FillAndExpand" />
    <Label Grid.Row="3" Grid.Column="1" />
</Grid>