Xamarin.Forms RefreshView
Это RefreshView
элемент управления контейнером, предоставляющий возможность обновления функциональных возможностей для прокручиваемого содержимого. Таким образом, дочерний элемент RefreshView
должен быть прокручиваемым элементом управления, например ScrollView
, CollectionView
или ListView
.
RefreshView
определяет следующие свойства:
Command
типICommand
, который выполняется при активации обновления.CommandParameter
с типомobject
, который передается как параметр вCommand
.IsRefreshing
, типbool
, указывающий текущее состояниеRefreshView
объекта .RefreshColor
(типColor
) — цвет круга хода выполнения, который отображается во время обновления.
Эти свойства поддерживаются объектами BindableProperty
, то есть эти свойства можно указывать в качестве целевых для привязки и стилизации данных.
Примечание.
Universal Windows PlatformВ поле "Направление извлечения" RefreshView
можно задать с помощью конкретной платформы. Дополнительные сведения см. в разделе RefreshView "Направление извлечения".
Создание класса RefreshView
В следующем примере показано, как создать экземпляр в RefreshView
XAML:
<RefreshView IsRefreshing="{Binding IsRefreshing}"
Command="{Binding RefreshCommand}">
<ScrollView>
<FlexLayout Direction="Row"
Wrap="Wrap"
AlignItems="Center"
AlignContent="Center"
BindableLayout.ItemsSource="{Binding Items}"
BindableLayout.ItemTemplate="{StaticResource ColorItemTemplate}" />
</ScrollView>
</RefreshView>
Можно RefreshView
также создать в коде:
RefreshView refreshView = new RefreshView();
ICommand refreshCommand = new Command(() =>
{
// IsRefreshing is true
// Refresh data here
refreshView.IsRefreshing = false;
});
refreshView.Command = refreshCommand;
ScrollView scrollView = new ScrollView();
FlexLayout flexLayout = new FlexLayout { ... };
scrollView.Content = flexLayout;
refreshView.Content = scrollView;
В этом примере RefreshView
предоставляется возможность обновления функциональных возможностей, ScrollView
дочерний объект которого является дочерним элементом FlexLayout
. Использует FlexLayout
привязываемый макет для создания содержимого путем привязки к коллекции элементов и задает внешний вид каждого элемента с DataTemplate
помощью . Дополнительные сведения о привязываемых макетах см. в разделе "Привязываемые макеты".Xamarin.Forms
Значение RefreshView.IsRefreshing
свойства указывает текущее состояние RefreshView
объекта. Когда обновление активируется пользователем, это свойство автоматически переходит в true
. После завершения обновления необходимо сбросить свойство false
в значение .
Когда пользователь инициирует обновление, выполняется определенное Command
свойством, ICommand
которое должно обновить отображаемые элементы. Визуализация обновления отображается во время обновления, которая состоит из анимированного круга выполнения:
Примечание.
Вручную присвойт IsRefreshing
свойству активацию true
визуализации обновления и будет выполняться определенное ICommand
свойством Command
.
Внешний вид RefreshView
Помимо свойств, наследующих RefreshView
от VisualElement
класса, RefreshView
также определяет RefreshColor
свойство. Это свойство можно задать для определения цвета круга хода выполнения, который отображается во время обновления:
<RefreshView RefreshColor="Teal"
... />
На следующем снимка экрана показан RefreshView
RefreshColor
набор свойств:
Кроме того, BackgroundColor
для свойства можно задать Color
значение, представляющее цвет фона круга хода выполнения.
Примечание.
В iOS BackgroundColor
свойство задает цвет фона UIView
, содержащий круг хода выполнения.
Отключение RefreshView
Приложение может ввести состояние, в котором вытягивание для обновления не является допустимой операцией. В таких случаях RefreshView
можно отключить, задав свойству IsEnabled
значение false
. Это приведет к тому, что пользователи смогут активировать вытягивание для обновления.
Кроме того, CanExecute
при определении Command
свойства делегат можно указать для ICommand
включения или отключения команды.