CollectionView中的Xamarin表格行距

问题描述 投票:0回答:1

我有问题。我用一些虚拟交易创建了这个CollectionView,现在看起来像这样:enter image description here

现在这几乎就像我想要的,除了一件事:我希望最后一列在两行上都得到一个行距,像这样:enter image description here

现在,如果这是常规网格,我可以使用Grid.RowSpawn来完成,但是它在CollectionView中,因为我可以进行很多交易。 CollectionView的缺点是每一行都是不同的Grid,因此它们实际上没有连接!现在是我的代码:

<CollectionView ItemsSource="{Binding agentOrderList}" Margin="0" HeightRequest="450">
    <CollectionView.ItemTemplate>
        <DataTemplate>
            <Grid RowSpacing="0">
                <StackLayout Orientation="Vertical">
                    <StackLayout HorizontalOptions="FillAndExpand" HeightRequest="1" BackgroundColor="White"/>
                    <Grid RowSpacing="0" Margin="5,0,5,0">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="21" />
                            <RowDefinition Height="21" />
                            <RowDefinition Height="4" />
                        </Grid.RowDefinitions>

                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="65" />
                            <ColumnDefinition Width="95" />
                            <ColumnDefinition Width="40" />
                            <ColumnDefinition Width="75" />
                            <ColumnDefinition Width="82" />
                        </Grid.ColumnDefinitions>

                        <Label Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Text="{Binding Date}" FontAttributes="Bold" TextColor="#00D8FF" FontSize="18" VerticalOptions="CenterAndExpand"/>
                        <Label Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Text="{Binding Action}" TextColor="White" FontSize="18" VerticalOptions="CenterAndExpand"/>
                        <Label Grid.Row="0" Grid.RowSpan="2" Grid.Column="2" Text="{Binding Coin}" TextColor="White" FontSize="18" VerticalOptions="CenterAndExpand"/>
                        <Label Grid.Row="0" Grid.RowSpan="2" Grid.Column="3" Text="{Binding Price}" TextColor="White" FontSize="18" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="End"/>
                        <Label Grid.Row="0" Grid.Column="4" Text="{Binding ProfitUSDT}" TextColor="{Binding ProfitColor}" FontSize="18" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="End"/>
                        <Label Grid.Row="1" Grid.Column="4" Text="{Binding ProfitPerc}" TextColor="{Binding ProfitColor}" FontSize="18" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="End"/>

                    </Grid>
                </StackLayout>
            </Grid>
        </DataTemplate>
    </CollectionView.ItemTemplate>
</CollectionView>

现在,实现此目标的最佳方法是什么?我需要提出不同的看法吗?请让我知道!

xaml xamarin xamarin.forms xamarin.android xamarin.ios
1个回答
0
投票
ListView中的单元格之间不能有数据交叉,所以我认为您需要使每个列表项具有两行网格,这样才能使最后一列跨越两行。

但是,我很困惑。您的XAML代码似乎与一个单元格的屏幕截图不匹配。您的XAML代码似乎只分配了5列,但是我在屏幕截图中看到6列了吗?

在任何情况下,都是正确的,您将需要使用一个网格来显示买卖数据,以便最后一列可以跨越2行。

© www.soinside.com 2019 - 2024. All rights reserved.