1
resposta

Duvida sobre Binding + itemSource

Eu tenho uma lista de produto, "Item source", o texto da Entry "quantidade" faz referencia ao atributo quantidade, gostaria de clicar no botão "btn_mais" adicionar ao texto da entry += 1

 <ListView
                x:Name="listView"
                Grid.Row="1"
                Margin="10,0,10,0"
                ItemTapped="ListView_ItemTapped"
                ItemsSource="{Binding ListaProdutos}"
                VerticalOptions="FillAndExpand">

                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Horizontal">
                                <Label
                                    x:Name="descricao"
                                    Grid.Column="0"
                                    Grid.ColumnSpan="2"
                                    HorizontalOptions="StartAndExpand"
                                    Text="{Binding Descricao}"
                                    VerticalTextAlignment="Center" />

                                <Button
                                    VerticalOptions="Center"
                                    BorderColor="IndianRed"
                                    BorderWidth="2"
                                    HeightRequest="35"
                                    HorizontalOptions="End"
                                    Text="-"
                                    TextColor="DarkRed"
                                    WidthRequest="35" />
                                <Entry
                                    Margin="13,0,13,0"
                                    x:Name="quantidade"
                                    Focused="Quantidade_Focused"
                                    HorizontalOptions="End"
                                    HorizontalTextAlignment="Start"
                                    Keyboard="Numeric"
                                    Text="{Binding Quantidade, Mode=TwoWay}"
                                    Unfocused="Quantidade_Unfocused" />

                                <Button
                                    VerticalOptions="Center"
                                    BorderColor="ForestGreen"
                                    BorderWidth="2"
                                    HeightRequest="35"
                                    HorizontalOptions="End"
                                    Text="+"
                                    Margin="0,0,20,0"
                                    TextColor="ForestGreen"
                                    WidthRequest="35" 
                                    Clicked="Button_Mais"/>


                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

Metodo botão mais

private void Button_Mais(object sender, EventArgs e)
        {
            var button = sender as Button;
            var produto = button.BindingContext as Produto;
            produto.Quantidade += 1;
            ViewModel.ListaProdutos = (ObservableCollection<Produto>)listView.ItemsSource;

        }

gostaria de avisar a view, e alterar o texto da entry

1 resposta

Olá Gabriel, tudo certo?

Você tentou colocar o OnPropertyChange(); no elemento que pretende mostrar essa mudança?

Aliás, conseguiu solucionar esse problema?

No aguardo!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software