Partilhar via


Extensões BindableLayout

As extensões BindableLayout fornecem uma série de métodos de extensão que dão suporte à configuração de controles EmptyView, como ItemSource e ItemTemplate.

EmptyView

O método EmptyView define a propriedade EmptyView em um ILayout.

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

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

EmptyViewTemplate

O método EmptyViewTemplate define a propriedade EmptyViewTemplate em um ILayout.

O seguinte exemplo define o EmptyViewTemplate como 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"));

ItemsSource

O método ItemsSource define a propriedade ItemsSource em um ILayout.

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

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

ItemTemplate

O método ItemTemplate define a propriedade ItemTemplate em um ILayout.

O seguinte exemplo define o ItemTemplate como 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));

ItemTemplateSelector

O método ItemTemplateSelector define a propriedade ItemTemplateSelector em um ILayout.

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

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

class CustomDataTemplateSelector : DataTemplateSelector
{
  // ...
}