对。net MAUI的Telerik UI不熟悉吗?开始一个30天的免费试用

.NET MAUI ListView命令

Command设计模式广泛用于XAML和MVVM领域。ListView严格遵循Command设计模式最佳实践,并提供了一组直观且易于使用的api,允许您控制ListView行为的各个方面。

ListView公开了命令类将自定义命令注册到每个控件的实例RadListView。命令财产。命令控件注册的所有自定义命令的集合CommandService。自定义命令具有比内置(默认)命令更高的优先级。

CommandId枚举

中的所有预定义命令RadListView实例的成员标识CommandId枚举。该成员实际上是将命令实例与所属ListView中的特定操作/例程联系起来的键。

类中注册自定义命令RadListView例如你可以:

在这两种情况下,都需要设置Id属性,以便将其与所需的操作/事件正确关联。

的成员如下CommandId枚举:

  • ItemTap
  • ItemSwiping
  • ItemSwipeCompleted
  • ItemSwipeStarting
  • PullToRefreshRequested
  • SelectionChanged
  • LoadOnDemand
  • ItemHold
  • GroupHeaderTap
  • ReorderStarting
  • ReorderEnded

这些动作对应于ListView公开的事件。有关详细信息,请参见事件的话题。

对于每个可用的命令,都有一个上下文类型对象[CommandId] CommandContext例如,ItemTapCommandContextItemHoldCommandContext等等。的上下文对象作为参数传递给其执行方法,并提供与相应事件参数相同的信息。

继承自ListViewCommand

来演示从ListViewCommand,下面的示例处理ItemTap作为命令的行动:

  1. 类中继承的类ListViewCommand然后设置它Id财产。然后重写CanExecute执行方法:

    公共类ItemTappedUserCommand: ListViewCommand{公共ItemTappedUserCommand() {Id = CommandId.ItemTap;}公共覆盖bool CanExecute(对象参数){返回true;}公共覆盖无效执行(对象参数){var tappedItem =(参数作为ItemTapCommandContext).Item;App.DisplayAlert("You've selected " + tappedItem);}}
  2. 控件的Commands集合中添加自定义命令RadListView实例:

    listView.Commands。添加(新ItemTappedUserCommand ());

    绑定ListViewUserCommand

ListViewUserCommand方法中,可以直接处理自定义命令视图模型

  1. 控件中添加自定义命令视图模型

    公共类ViewModel{公共ViewModel(){这。Source = new List{“Tom”,“Anna”,“Peter”,“Teodor”,“Martin”};这一点。ItemTapCommand = new Command(this.ItemTapped);} private void ItemTapped(ItemTapCommandContext context) {var tappedItem = context. item;App.DisplayAlert("You've selected " + tappedItem);}公共列表源{get;设置;}公共ICommand ItemTapCommand {get;设置; } }
  2. 绑定ItemTapCommand通过预定义的ListViewUserCommand命令。它的Id属性用于将命令映射到控件的相应操作:

        < telerik: RadListView。命令>   

    另请参阅

在本文中
没有找到你需要的帮助?
Baidu
map