.net MAUI -带有SwipeView的集合视图

63lcw9qa  于 2022-12-20  发布在  .NET
关注(0)|答案(1)|浏览(258)

我试图实现CollectionView与右滑动项目删除。我知道如何在Xamarin中做到这一点,我读了MAUI文档和SwipeView周围的示例,但它根本不存在。这是我有,在Windows平台上测试。
编辑-我已经把SwipeView放到了CollectionView的DataTemplete中,但是它也不起作用,请检查示例。
编辑2-它的工作在Android上,可能也在iOS上,所以这看起来像Windows功能。

<SwipeView
    Threshold="200">
    <SwipeView.RightItems>
        <SwipeItems>
            <SwipeItemView>
                <!--Delete icon-->
                <Frame 
                    Grid.Column="0"
                    VerticalOptions="Fill"                   
                    HorizontalOptions="Fill"
                    WidthRequest="88"
                    BackgroundColor="red">

                    <Grid VerticalOptions="Center" HorizontalOptions="Center">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>

                        <!--Delete-->
                        <Label 
                            Text="D"
                            FontSize="25" 
                            HorizontalOptions="CenterAndExpand"
                            VerticalOptions="CenterAndExpand" />
                    </Grid>
                </Frame>
            </SwipeItemView>
        </SwipeItems>
    </SwipeView.RightItems>

    <!-- Content of SwipeView-->
    <CollectionView 
        x:Name="fro_CollectionView"
        VerticalScrollBarVisibility="Always"
        SelectionMode="Single"
        VerticalOptions="Fill"
        HorizontalOptions="Fill"
        MinimumHeightRequest="5"
        ItemsSource="{Binding StockCards}">

        <CollectionView.ItemTemplate>
            <DataTemplate x:DataType="Models:StockCard">
                <Grid Padding="2">

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

                    <Label Grid.Row="0" Grid.Column="0" Text="{Binding Name}"/>
                    <Label Grid.Row="0" Grid.Column="1" Text="{Binding Price}"/>

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

Link to sample project .

bkhjykvo

bkhjykvo1#

这是特定于平台的问题(windows),目前正在开发中。
https://github.com/dotnet/maui/issues/6152

相关问题