Xamarin.Forms RefreshView
Jedná se RefreshView
o ovládací prvek kontejneru, který poskytuje funkce aktualizace pro posouvání obsahu. Proto musí být podřízený RefreshView
ovládací prvek, například ScrollView
, CollectionView
nebo ListView
.
RefreshView
definuje následující vlastnosti:
Command
, typuICommand
, který se spustí při aktivaci aktualizace.CommandParameter
, typuobject
, což je parametr, který je předán doCommand
.IsRefreshing
, typubool
, který označuje aktuální stavRefreshView
.RefreshColor
, typuColor
, barva kruhu průběhu, který se zobrazí během aktualizace.
Tyto vlastnosti jsou podporovány BindableProperty
objekty, což znamená, že mohou být cíle datových vazeb a stylovány.
Poznámka:
Universal Windows PlatformSměr přijetí změn RefreshView
lze nastavit pro konkrétní platformu. Další informace naleznete v tématu RefreshView Směr přijetí změn.
Vytvořte soubor RefreshView
Následující příklad ukazuje, jak vytvořit instanci RefreshView
v JAZYCE 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>
V kódu lze také vytvořit A 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;
V tomto příkladu RefreshView
poskytuje funkce pro aktualizaci funkce, ScrollView
jejíž podřízená FlexLayout
položka je . Používá FlexLayout
vázání rozložení ke generování jeho obsahu vazbou na kolekci položek a nastaví vzhled každé položky pomocí DataTemplate
. Další informace o svázatelných rozloženích naleznete v tématu Bindable Layouts in Xamarin.Forms.
Hodnota RefreshView.IsRefreshing
vlastnosti označuje aktuální stav objektu RefreshView
. Při aktivaci aktualizace uživatelem se tato vlastnost automaticky převede na true
. Po dokončení aktualizace byste měli vlastnost obnovit na false
hodnotu .
Když uživatel zahájí aktualizaci, ICommand
spustí se definovaná Command
vlastnost, která by měla aktualizovat zobrazené položky. Během aktualizace se zobrazí vizualizace aktualizace, která se skládá z animovaného kruhu průběhu:
Poznámka:
Ruční nastavení IsRefreshing
vlastnosti tak, aby true
aktivovalo vizualizaci aktualizace, a spustí definovanou ICommand
Command
vlastnost.
RefreshView vzhled
Kromě vlastností, které RefreshView
dědí z VisualElement
třídy, RefreshView
také definuje RefreshColor
vlastnost. Tuto vlastnost lze nastavit tak, aby definovala barvu kruhu průběhu, který se zobrazí během aktualizace:
<RefreshView RefreshColor="Teal"
... />
Následující snímek obrazovky ukazuje RefreshView
RefreshColor
sadu vlastností:
Kromě toho BackgroundColor
lze vlastnost nastavit na Color
hodnotu, která představuje barvu pozadí kruhu průběhu.
Poznámka:
V iOSu nastaví BackgroundColor
vlastnost barvu UIView
pozadí, která obsahuje kruh průběhu.
Zakázání RefreshView
Aplikace může zadat stav, ve kterém obnovení není platná operace. V takových případech RefreshView
lze zakázat nastavením jeho IsEnabled
vlastnosti na false
hodnotu . Tím zabráníte uživatelům v aktivaci aktualizace vyžádané replikace.
Případně můžete při definování Command
vlastnosti CanExecute
zadat delegáta ICommand
příkazu, který povolí nebo zakáže.