.NET MAUI ListView单元格滑动
单元格滑动允许终端用户在单元格上使用滑动手势。当用户滑动时,会显示一个带有按钮、图像等的指定自定义视图。
下图显示了如何向右滑动可以在左边显示一个删除按钮:
你可以使用以下RadListView属性来配置Cell Swipe特性:
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):正在被滑动的项。抵消
(double):当前的滑动偏移量。
ItemSwipeCompleted
:当用户完成滑动手势时发生。事件参数属于ItemSwipeCompletedEventArgs
类型,提供以下属性:项
(object):已被滑动的项。抵消
(double):项目被丢弃的滑动偏移量。
命令
除了滑动事件,RadListView还提供了与某些滑动动作相关的以下命令:
ItemSwipeStarting
ItemSwiping
ItemSwipeCompleted
有关如何使用ListView命令的更多详细信息,请参见命令.
例子
RadListView滑动事件允许您根据滑动方向、滑动手势长度或数据项配置自定义动作。
或者,您可以向滑动内容添加交互元素,并仅使用滑动手势来显示该内容。然后用户可以选择如何与显示的内容进行交互。
滑动事件示例
方法的使用方法,示例如下ItemSwipeCompleted
事件。根据滑动手势的长度,我们将修改数据项或从源中删除它。
公共类邮件:NotifyPropertyChangedBase {bool是否是未读;发送者{get;设置;}
公共字符串主题{获取;设置;}
public bool IsUnread{获取{返回IsUnread;}设置{this。UpdateValue (ref。isUnread值);}}}
公共类ViewModel{公共ViewModel() {this。来源=新的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;设置;}
}