【问题标题】:Xamarin Add dividing line into GridXamarin 将分割线添加到网格中
【发布时间】:2019-11-19 04:39:25
【问题描述】:

我有问题。我想使用以下代码创建这个 ListView:

<?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:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             x:Class="MyApp.HomePage">
    <ContentPage.Content>
        <ListView x:Name="ListViewMain" VerticalOptions="FillAndExpand" BackgroundColor="#212121" SelectionMode="None">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <Grid x:Name="GridMain">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="40" x:Name="Row0_Height"/>
                                <RowDefinition Height="180" x:Name="Row1_Height"/>
                                <RowDefinition Height="180" x:Name="Row2_Height"/>
                                <RowDefinition Height="40" x:Name="Row3_Height"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="40" x:Name="Column0_Width" />
                                <ColumnDefinition Width="*" x:Name="Column1_Width" />
                                <ColumnDefinition Width="40" x:Name="Column2_Width" />
                            </Grid.ColumnDefinitions>
                            <Label Text="{Binding Creator}" TextColor="White" FontSize="Body" FontAttributes="Bold" Grid.Column="1" Grid.Row="0" VerticalOptions="Center" HorizontalOptions="Start"/>
                            <Image Source="VoteUp.png" VerticalOptions="End" HorizontalOptions="Center" Grid.Row="1" Grid.Column="0">
                                <Image.GestureRecognizers>
                                    <TapGestureRecognizer Tapped="imgVoteUp_Clicked" />
                                </Image.GestureRecognizers>
                            </Image>
                            <Image Source="VoteDown.png" VerticalOptions="Start" HorizontalOptions="Center" Grid.Row="2" Grid.Column="0">
                                <Image.GestureRecognizers>
                                    <TapGestureRecognizer Tapped="imgVoteDown_Clicked" />
                                </Image.GestureRecognizers>
                            </Image>
                            <Image Source="{Binding ImageLocation}" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" BackgroundColor="AliceBlue" VerticalOptions="Fill" HorizontalOptions="Fill"/>
                            <Image Source="Favorite.png" Grid.Row="3" Grid.Column="1" HorizontalOptions="Start">
                                <Image.GestureRecognizers>
                                    <TapGestureRecognizer Tapped="imgFavorite_Clicked" />
                                </Image.GestureRecognizers>
                            </Image>
                            <Image Source="Send_Dark.png" Grid.Row="3" Grid.Column="1" HorizontalOptions="End"/>
                            <Image Source="Save_Dark.png" Grid.Row="3" Grid.Column="2" HorizontalOptions="End"/>
                        </Grid>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </ContentPage.Content>
</ContentPage>

但现在我想在第一个 Label 标记上方添加一行。要创建我想要的行,我使用以下代码:

&lt;Label HeightRequest="1" BackgroundColor="#E3E3E3" /&gt;

但我不知道该放在哪里以及如何放置,因为它是一个网格。我想在网格之前添加它,但这给了我错误:

属性“视图”设置了多次。

我做错了什么,我该如何解决?

【问题讨论】:

    标签: xamarin xamarin.forms xamarin.android xamarin.ios


    【解决方案1】:

    我会使用BoxView 而不是Label。您可以使用这种布局,将BoxViewLabel 放在同一行,但垂直对齐

    你可以尝试的其他事情

    1. Grid 中为BoxView 添加另一行
    2. GridBoxView 放在StackLayout

    【讨论】:

    • 我同意使用 BoxView 的建议。 OP 需要在添加 boxview 之前将 listview 包装在某些东西(可能是 Grid)中,因为您无法将多个项目添加到 ContentPage.Content。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 2016-06-12
    • 2022-01-11
    • 2014-10-14
    • 1970-01-01
    相关资源
    最近更新 更多