从 Xamarin.Forms 迁移后如何删除 MAUI ListView 中的分隔符?

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

我最近将我的 Xamarin.Forms 项目迁移到 .NET MAUI。在 Xamarin.Forms 中,我的 ListView 显示的项目之间没有分隔符,但迁移后,我看到了以前不存在的这些分隔线。

这是显示问题的图像:[在此处输入图像描述](https://i.sstatic.net/KPUeUHTG.png)

我尝试将 SeparatorVisibility 设置为 None,但没有任何效果:

代码-

<ListView
    x:Name="listDataItems"
    Grid.Row="1"
    Grid.ColumnSpan="2"
    BackgroundColor="#ffffff"
    HasUnevenRows="True"
    ItemsSource="{Binding DataList}"
    SeparatorVisibility="None"
    SelectionMode="Single">

    <ListView.Header>
        <Grid Margin="10,0,0,0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="50*" />
                <ColumnDefinition Width="50*" />
            </Grid.ColumnDefinitions>
            <Label
                Grid.Column="0"
                FontAttributes="Bold"
                Text="{Binding Column1}" 
                FontSize="Medium"/>
            <Label
                Grid.Column="1"
                FontAttributes="Bold"
                Text="{Binding Column2}"
                FontSize="Medium"/>
        </Grid>
    </ListView.Header>

    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <Grid>
                    <Frame
                        Grid.Row="0"
                        Margin="5,5,5,5"
                        Padding="5">
                        <Grid Margin="5,0,0,0">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="50*" />
                                <ColumnDefinition Width="50*" />
                            </Grid.ColumnDefinitions>

                            <Label Grid.Column="0" Text="{Binding Field1}" />
                            <Label Grid.Column="1" Text="{Binding Field2}" />
                        </Grid>
                    </Frame>
                </Grid>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>



Any help on how to remove these separators would be greatly appreciated!

listview migration maui
1个回答
0
投票

好吧,我可以重现这个问题。将

Margin
设置为 0 可以删除分隔符:

    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <Grid>
                    <Frame
                        Grid.Row="0"
                        Margin="5,0,5,0" // modify here
                        Padding="5">
                      ......
© www.soinside.com 2019 - 2024. All rights reserved.