Extensões BindableLayout

As extensões BindableLayout fornecem uma série de métodos de extensão que suportam a configuração dos EmptyView, ItemSource e ItemTemplate.

EmptyView

O EmptyView método define a EmptyView propriedade num ILayout.

O exemplo seguinte define o EmptyView para new Label().Text("No Items Found"):

new VerticalStackLayout().EmptyView(new Label().Text("No Items Found"));

EmptyViewTemplate

O EmptyViewTemplate método define a EmptyViewTemplate propriedade num ILayout.

O exemplo seguinte define o EmptyViewTemplate para new DataTemplate(() => new Label().Text("No Items Found")):

new VerticalStackLayout().EmptyViewTemplate(new DataTemplate(() => new Label().Text("No Items Found")));

Existe um método de sobrecarga para EmptyViewTemplate que aceita um Func<object> que é usado para inicializar o DataTemplate.

new VerticalStackLayout().EmptyViewTemplate(() => new Label().Text("No Items Found"));

FonteDeItens

O ItemsSource método define a ItemsSource propriedade num ILayout.

O exemplo seguinte define o ItemsSource para new List<string> { "Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet" }:

new VerticalStackLayout().ItemsSource(new List<string> { "Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet" });

Modelo de Item

O ItemTemplate método define a ItemTemplate propriedade num ILayout.

O exemplo seguinte define o ItemTemplate para new DataTemplate(() => new Label().Bind(Label.TextProperty, "."):

new VerticalStackLayout().ItemTemplate(new DataTemplate(() => new Label().Bind(Label.TextProperty, Binding.SelfPath)));

Existe um método de sobrecarga para ItemTemplate que aceita um Func<object> que é usado para inicializar o DataTemplate.

new VerticalStackLayout().ItemTemplate(() => new Label().Bind(Label.TextProperty, Binding.SelfPath));

Seletor de Modelo de Item

O ItemTemplateSelector método define a ItemTemplateSelector propriedade num ILayout.

O exemplo seguinte define o ItemTemplateSelector para new CustomDataTemplateSelector():

new VerticalStackLayout().ItemTemplateSelector(new CustomDataTemplateSelector())

class CustomDataTemplateSelector : DataTemplateSelector
{
  // ...
}