Xamarin.Forms RefreshView
, RefreshView
kaydırılabilir içerik için yenileme işlevselliği sağlayan bir kapsayıcı denetimidir. Bu nedenle, öğesinin RefreshView
alt öğesi , CollectionView
veya ListView
gibi ScrollView
kaydırılabilir bir denetim olmalıdır.
RefreshView
aşağıdaki özellikleri tanımlar:
Command
, türündeICommand
bir yenileme tetiklendiğinde yürütülür.CommandParameter
, türündekiobject
parametresineCommand
geçirilir.IsRefreshing
, türününbool
geçerli durumunuRefreshView
gösterir.RefreshColor
, türündeColor
, yenileme sırasında görüntülenen ilerleme çemberinin rengidir.
Bu özellikler nesneler tarafından BindableProperty
desteklenir; bu da veri bağlamalarının hedefleri olabileceği ve stillendirilebileceği anlamına gelir.
Not
üzerinde Universal Windows Platform, bir RefreshView
öğesinin çekme yönü platforma özgü olarak ayarlanabilir. Daha fazla bilgi için bkz RefreshView . Çekme Yönü.
RefreshView oluşturma
Aşağıdaki örnekte XAML'de örneği RefreshView
oluşturma gösterilmektedir:
<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
Kodda da oluşturulabilir:
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;
Bu örnekte, RefreshView
alt FlexLayout
öğesi bir olan bir ScrollView
için yenileme işlevinin çekmesini sağlar. , FlexLayout
bir öğe koleksiyonuna bağlayarak içeriğini oluşturmak için bağlanabilir bir düzen kullanır ve ile DataTemplate
her öğenin görünümünü ayarlar. Bağlanabilir düzenler hakkında daha fazla bilgi için, bkz . içindeki Xamarin.FormsBağlanabilir Düzenler.
özelliğinin RefreshView.IsRefreshing
değeri, geçerli durumunu RefreshView
gösterir. Kullanıcı tarafından bir yenileme tetiklendiğinde, bu özellik otomatik olarak öğesine true
geçiş yapacaktır. Yenileme tamamlandıktan sonra özelliğini olarak false
sıfırlamanız gerekir.
Kullanıcı bir yenileme başlattığında ICommand
, özelliği tarafından Command
tanımlanan yürütülür ve görüntülenen öğelerin yenilenmesi gerekir. Yenileme gerçekleşirken bir yenileme görselleştirmesi gösterilir ve bu görselleştirme animasyonlu bir ilerleme çemberi içerir:
Not
özelliğini el ile olarak true
ayarlamak IsRefreshing
yenileme görselleştirmesini tetikler ve özelliği tarafından tanımlanan öğesini ICommand
Command
yürütür.
RefreshView Görünüm
sınıfından devralan RefreshView
VisualElement
özelliklere ek olarak özelliğini RefreshView
de tanımlar RefreshColor
. Bu özellik, yenileme sırasında görüntülenen ilerleme çemberinin rengini tanımlamak için ayarlanabilir:
<RefreshView RefreshColor="Teal"
... />
Aşağıdaki ekran görüntüsünde, özellik kümesine sahip bir RefreshView
gösterilmektedir RefreshColor
:
Buna ek olarak, BackgroundColor
özellik ilerleme dairesinin arka plan rengini temsil eden bir Color
olarak ayarlanabilir.
Not
iOS'ta özelliği ilerleme BackgroundColor
dairesini içeren öğesinin arka plan rengini UIView
ayarlar.
Devre dışı bırakma RefreshView
Bir uygulama, yenilemek için çekmenin geçerli bir işlem olmadığı bir durum girebilir. Böyle durumlarda, RefreshView
özelliği false
olarak ayarlanarak IsEnabled
devre dışı bırakılabilir. Bu, kullanıcıların yenileme için çekmeyi tetikleyebilmesini engeller.
Alternatif olarak, özelliği tanımlarken Command
, CanExecute
komutunu etkinleştirmek veya devre dışı bırakmak için öğesinin temsilcisi ICommand
belirtilebilir.