如何解决如何在 xamarin 表单中使用滑动删除功能创建列表视图
如何在 xamarin 表单中创建具有滑动删除功能的列表视图,而无需使用 swipeview 控件。 我想要一个带有滑动删除的列表视图页面,如果单元格项目状态为“待处理”,当用户向右滑动单元格时需要在列表视图中显示删除图标。我使用 swipeview 控件得到了相同的结果,但该控件是“实验性的”。有没有其他相同的解决方案。请帮忙解决这个问题。
解决方法
这是通过 SwipeGestureRecognizer
的解决方法。至于“删除图标”,您可以使用自定义按钮,并将其“IsVisible”设置为“false”以隐藏它。
<Grid.RowDefinitions>
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding Name}"
FontAttributes="Bold" />
<Button x:Name="buttontest"
HorizontalOptions="End"
HeightRequest="10"
WidthRequest="60"
BackgroundColor="Red"
CornerRadius="20"
Text="Del"
Grid.Row="0"
Grid.Column="1"
Clicked="Button_Clicked"
IsVisible="false"/>
</Grid>
向 ViewCell 中的网格添加 SwipeGestureRecognizer。
<Grid.GestureRecognizers>
<SwipeGestureRecognizer Direction="Right" Swiped="SwipeGestureRecognizer_Swiped" />
</Grid.GestureRecognizers>
如果滑动,则显示按钮。
private void SwipeGestureRecognizer_Swiped(object sender,SwipedEventArgs e)
{
Button button = (sender as Grid).Children.FirstOrDefault(c => Grid.GetRow(c) == 0 && Grid.GetColumn(c) == 1) as Button;
button.IsVisible = true;
}
如果按钮被点击,隐藏按钮。
private void Button_Clicked(object sender,System.EventArgs e)
{
// hide button
(sender as Button).IsVisible = false;
// some other operations
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。