.NET MAUI ListView单元格滑动
Cell swipe允许终端用户在Cell上使用滑动手势。当用户滑动时,他们会显示一个指定的自定义视图,其中包含按钮、图像等。
下图显示了向右滑动可以在左边显示一个删除按钮:
您可以使用以下RadListView属性来配置单元格滑动功能:
IsItemSwipeEnabled
(保龄球
) -启用或禁用Cell Swipe功能。默认值为False。SwipeThreshold
(双
定义触发该功能所需的滑动手势的长度(以像素为单位)。较短的滑动手势不受尊重。缺省值为0。SwipeOffset
(厚度
-指定将被滑动的单元移动到一边并将其固定在那里的程度。缺省值是100。ItemSwipeContentTemplate
(DataTemplate
) -定义了当用户滑动单元格时将显示的内容。
的
SwipeThreshold
值必须小于SwipeOffset
价值。这是必需的,因为SwipeThreshold
定义触发Cell swipe功能并显示自定义视图的最小滑动手势长度。
方法
以下RadListView方法与单元格滑动特性相关:
- 无效
EndItemSwipe
(保龄球isAnimated
) -将滑动的项目移动到其默认位置。
事件
以下RadListView事件与单元格滑动特性相关:
ItemSwipeStarting
:当用户发起滑动手势时发生。事件参数属于ItemSwipeStartingEventArgs
提供以下属性的类型:项
(object):要滑动的项目。取消
(bool):如果将此值设置为假
,刷卡将被取消。
ItemSwiping
:在用户滑动项目时发生。事件参数属于ItemSwipingEventArgs
提供以下属性的类型:项
(object):正在被滑动的项目。抵消
(双):当前滑动偏移量。
ItemSwipeCompleted
:当用户完成滑动手势时发生。事件参数属于ItemSwipeCompletedEventArgs
提供以下属性的类型:项
(对象):被滑动的项目。抵消
(双):物品被放下时的滑动偏移量。
命令
除了滑动事件,RadListView还提供了以下与某些滑动动作相关的命令:
ItemSwipeStarting
ItemSwiping
ItemSwipeCompleted
有关如何使用ListView命令的详细信息,请参见命令。
例子
RadListView滑动事件允许您配置依赖于滑动方向、滑动手势长度或数据项的自定义动作。
或者,您可以向滑动内容添加交互元素,并仅使用滑动手势来显示该内容。然后,用户可以选择如何与显示的内容进行交互。
滑动事件示例
下面的示例演示如何使用ItemSwipeCompleted
事件。根据滑动手势的长度,我们将修改数据项或将其从源中删除。
公共类Mail: NotifyPropertyChangedBase {bool未读;公共字符串发送者{获取;设置;}
公共字符串主题{获取;设置;}
public bool IsUnread {get{返回IsUnread;} set {this。UpdateValue (ref。isUnread值);}}
公共类ViewModel{公共ViewModel(){这。来源= new ObservableCollection{新邮件{发件人=“Terry Tye”,主题=“Re: Summer Vacation”,IsUnread = true},新邮件{发件人=“Felicia Keegan”,主题=“研讨会邀请”,IsUnread = true},新邮件{发件人=“Jared Linton”,主题=“折扣码”},新邮件{发件人=“Mark Therese”,主题=“快速反馈”,IsUnread = true},新邮件{发件人=“Elvina Randall”,主题=“生日快乐!”},新邮件{发件人=“Emilia Porter”,主题=“检查附件”,IsUnread = true},新邮件{发件人=“Jared Linton”,主题=“Gillian Flynn”},新邮件{发件人=“Felicia Keegan”,主题=“Re: Summer Vacation”},新邮件{发件人=“Felicia Keegan”,主题=“Pictures”},};}
公共ObservableCollection< Mail>源{get;设置;}
}