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;
});