1
resposta

Mostrar todas as propriedades de uma classe usando List View

Bom dia,

Eu estava tentando mostrar todas as propriedas que tem na minha classe, mas já tentei de vários modos e até agora não funcionou, como eu poderia mostrar os valores de cada propriedade em colunas diferentes e colocar titulo nas colunas com o ListView?

segue código

  <ListView x:Name="listViewComidasEBebidas" ItemsSource="{Binding ComidasEBebidasCollection}">
    <ListView.ItemTemplate>
      <DataTemplate>
        <ViewCell>
          <ViewCell.View>
            <Label Text="{Binding Nome}"></Label>
          </ViewCell.View>
        </ViewCell>
      </DataTemplate>
    </ListView.ItemTemplate>
  </ListView>

</ContentPage>

MAIN PAGE.CS

  public class ComidasEBebidas
    {
        public string Nome { get; set; }
        public double Precos { get; set; }
    }

    public partial class MainPage : ContentPage
    {
        public List<ComidasEBebidas> ComidasEBebidasCollection { get; set;}

        public MainPage()
        {
            InitializeComponent();

            this.ComidasEBebidasCollection = new List<ComidasEBebidas>()
            {
                new ComidasEBebidas()
                {
                    Nome = "Água",
                    Precos = 3.00
                },
                new ComidasEBebidas()
                {
                    Nome = "Caipirinha",
                    Precos = 5.00
                },
                new ComidasEBebidas()
                {
                    Nome = "Coca-Cola",
                    Precos = 8.00
                }

            };

            this.BindingContext = this;
        }
1 resposta

Olá, Alex!

Você pode substituir o Label por um Grid contendo 2 colunas (1 para cada propriedade) e dentro do Grid você adiciona 2 Label (1 para cada propriedade), lembrando de associar o Grid.Column adequado.

  <ListView x:Name="listViewComidasEBebidas" ItemsSource="{Binding ComidasEBebidasCollection}">
    <ListView.ItemTemplate>
      <DataTemplate>
        <ViewCell>
          <ViewCell.View>
            <Grid>
              <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
              </Grid.ColumnDefinitions>
              <Label Text="{Binding Nome}" Grid.Column="0"></Label>
              <Label Text="{Binding Precos}" Grid.Column="1"></Label>
            </Grid>            
          </ViewCell.View>
        </ViewCell>
      </DataTemplate>
    </ListView.ItemTemplate>
  </ListView>

Boa sorte e bons estudos!