如何使用c#在Xamarin中实现pull刷新

时间:2018-03-26 16:53:57

标签: c# xamarin xamarin.forms

我还是Xamarin和C#的新手,我需要你的帮助来解决如何以编程方式实现Pull to refresh。

我在整个互联网上搜索了一些这方面的教程,但我找不到任何东西,因为每个人都在使用XAML而不是c#。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用这种方式:listViewJson.IsPullToRefreshEnabled = true;

同样添加一个命令来更新所需的列表,例如:listViewJson.RefreshCommand将某些绑定与命令相关联。

还在IsRefreshing方法中添加所需列表的绑定,例如:listViewJson.IsRefreshing

在viewmodel中按顺序添加:

private bool _isRefreshing = false;
public bool IsRefreshing { 
get { return _isRefreshing; }
set {
    _isRefreshing = value;
    OnPropertyChanged(nameof(IsRefreshing));
    }
}

对于更新命令,添加:

public ICommand RefreshCommand
{
    get {
        return new Command(async () =>
        {
            IsRefreshing = true;

            await RefreshData();

            IsRefreshing = false;
        });
    }
}

绑定属性RefreshCommand和IsRefresinhg,你需要这样做,例如:

Binding myBinding = new Binding();
myBinding.Source = ViewModel;
myBinding.Path = new PropertyPath("SomeString");
myBinding.Mode = BindingMode.TwoWay;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding);