Xamarin - проведите пальцем, чтобы обновить значок обновления, оставшийся там после выполнения команды

Я использую формы xamarin для разработки своего проекта, и теперь я использую компоненты Jason Smith, чтобы обновить мой взгляд

https://github.com/jamesmontemagno/Xamarin.Forms-PullToRefreshLayout

Тем не менее, я использую следующий код

        scrollControl.RefreshCommand = RefreshCommand;
        public ICommand RefreshCommand
        {
            get {return new Command(async () => await ContentScrollView_Scrolled()); }
        }
        async Task ContentScrollView_Scrolled()
        {
......
        }

В конце концов после того, как я выполню весь код, значок обновления все еще продолжает вращаться там, я попытался поместить scrollControl.isRefreshing = false в конец команды, однако не работает, кто-нибудь может мне помочь с этим?

2 ответа

Решение

Хорошо, это решение довольно странное, и я нашел его, так как свойство isrefreshing имеет значение false, поэтому я установил для isrefreshing значение true в начале кода, я подумал, что оно автоматически установится в значение true, поэтому мне придется самостоятельно его настроить, в конце концов, это работа, как шарм

 scrollControl.RefreshCommand = RefreshCommand;
        public ICommand RefreshCommand
        {
            get {return new Command(async () => await ContentScrollView_Scrolled()); }
        }
        async Task ContentScrollView_Scrolled()
        {
        scrollControl.isRefreshing = true;
......
        scrollControl.isRefreshing = false;
        }

Я подозреваю, что когда ваше обновление завершится, вы не обновляете свойство IsRefreshing в потоке пользовательского интерфейса. Попробуй это:

// after your refresh command completes
Device.BeginInvokeOnMainThread (() => {
  scrollControl.IsRefreshing = false;
});
Другие вопросы по тегам