I know this is a common questions,but I could not find an answer anywhere.
I want to prevent "quick double tapping" in Android.
I m using prism and Im not sure how I should implement/make use of "CanNavigateAsync(INavigationParameters).
Suppose I have a toolbarItem to "Add something" and this is mapped to a command and I do the following:
private DelegateCommand<MyVM> tappedToolbarItemCommand;
public DelegateCommand<MyVM> TappedToolbarItemCommand
{
get
{
return tappedToolbarItemCommand
?? (tappedToolbarItemCommand = new DelegateCommand<MyVM>(async args => await OnToolbarItemTapped(args))
.ObservesProperty(() => !IsBusy)
.ObservesCanExecute(CanExecute());
}
}
private bool CanExecute()
{
if (IsBusy) return false;
//HOW DO I MAKE USE OF "CanNavigateAsync"
CanNavigateAsync(??) what parameters?
return true;
}
private async Task OnToolbarItemTapped(MyVM vm)
{
await NavigationService.NavigateAsync($"NavPage/{nameof(MyPage)}");
}
So How do you prevent double tapping using Prism ?
Many thanks