2017-01-30 3 views
2

Я использую Xamrin.forms PLC проект, Итак, я пытаюсь отключить кнопку назад, когда индикатор активности выполняется, то я включить кнопку назад, когда индикатор активности закончен. это мой код:Как отключить кнопку назад Когда ActivityIndicator Заканчивается

protected override void OnAppearing() 
{ 
    activityIndicator.IsRunning = true; 
    activityIndicator.IsVisible = true; 
    //I need to disable back button here 
    activityIndicator.IsRunning = false; 
    activityIndicator.IsVisible = false; 
    //I need to enable back button here  
} 
+1

** Обратите внимание, что вы можете * привязать * 'activiityIndicator.IsRunning' и' activityIndicator.IsVisible' к 'Page.IsBusy', когда вы находитесь на странице. Это может сделать код немного чище. –

+0

Не могли бы вы добавить какой-то код, это хорошая идея также ..thanks –

+1

' ...' - поскольку мы не показываем индикатор активности, когда он не работает, мы можем установить для свойства IsRunning' значение true. –

ответ

3

Вы можете использовать статический метод NavigationPage.SetHasBackButton (см here), чтобы скрыть кнопку назад вашей страницы.

Кроме того, вы можете переопределить OnBackButtonPressed

protected override bool OnBackButtonPressed() 
{ 
    if(activityIndicator.IsRunning = true) 
    { 
     return true; 
    } 
    return false; 
} 

(см here), чтобы предотвратить возвращение, когда пользователь нажимает на кнопку аппаратного назад.

Смежные вопросы