Boa Noite Developers.

Preciso limpar um listbox assim que clicar no botão voltar do telefone.

Alguém sabe fazer isso?

<ListBox Name="lst_tamanho" ItemsSource="{Binding TamanhoPizza}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="78">
<TextBlock Name="txt_Salgada" Text="{Binding NomeSabor}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" Tap="txtTipo_Tap"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

Obrigado!

Exibições: 286

Respostas a este tópico

Laerte, não lembro de cabeça agora se no argumento do evento de focus da página se possui a informação dizendo que o usuario chegou alí usando o botão "Voltar".

Mas uma que vc pode fazer é limpar o listbox ANTES de sair da tela.

O usuario clica na opção que quer, vc limpa o Listbox, e depois redireciona.

Serve? :)

Boa tarde, tudo bom?

Creio que você pode fazer assim:

Trate o evento Back do botão Voltar do Windows Phone (veja como em: Curso Windows Phone – Como tratar o clique do botão Back do celular...) e no evento dele jogue o valor null para o ListBox. Assim:

lst_tamanho.ItemsSource = null;

Veja um outro exemplo sobre ListBox aqui: Curso Windows Phone – Como preencher e identificar os itens selecio...

Acho que isso deve resolver seu problema.

[]s

Eduardo

Boa Noite Eduardo;

Tudo bem sim amigo!

Fiz o tratamento do botão voltar, justamente como você mencionou no post. Porém não está dando certo. No momento que eu volta ele não limpa o list e quando eu volto ele está duplicando os dados. Dentro do list tenho um text block sendo preenchido via Binding.

Minha impressão é que nao está limpando esse text.

Abraço!

Laerte



Eduardo Henrique Rizo disse:

Boa tarde, tudo bom?

Creio que você pode fazer assim:

Trate o evento Back do botão Voltar do Windows Phone (veja como em: Curso Windows Phone – Como tratar o clique do botão Back do celular...) e no evento dele jogue o valor null para o ListBox. Assim:

lst_tamanho.ItemsSource = null;

Veja um outro exemplo sobre ListBox aqui: Curso Windows Phone – Como preencher e identificar os itens selecio...

Acho que isso deve resolver seu problema.

[]s

Eduardo

Laerte, coloque aqui o código que você implementou para o botão Voltar...

Com o seu código vai ficar mais fácil para eu analisar.

Abraços,

Eduardo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.IO.IsolatedStorage;
using System.Diagnostics;

namespace RestaurantePhone7
{
public partial class pg_tipoPizza : PhoneApplicationPage
{
IsolatedStorageSettings isoStore = IsolatedStorageSettings.ApplicationSettings;

public pg_tipoPizza()
{
InitializeComponent();
// Set the data context of the listbox control to the sample data
DataContext = App.ViewModel;
this.Loaded += new RoutedEventHandler(MainPage_Loaded);

//MOSTRA OS DADOS ARMAZENDOS NO ISOLATED STORAGE E APRESENTA NO MENU
string nome;
if (isoStore.TryGetValue<string>("sabor", out nome))
{
this.Titulo.Text = "Pizza " + nome;
}
}
// Load data for the ViewModel Items
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
if (!App.ViewModel.IsDataLoaded)
{
App.ViewModel.LoadData();
}
}

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
//PARA PEGAR O ÍNDICE
//int i;
//i = Convert.ToInt32(nome);
//this.teste.Text = App.ViewModel.Sabores[i].Ingredientes.ToString();
//this.Titulo.Text = App.ViewModel.Sabores[i].Nome.ToString();
}

private void txtTipo_Tap(object sender, GestureEventArgs e)
{
IsolatedStorage isoStores = new IsolatedStorage();
int indiceSelecionado = this.lst_tamanho.SelectedIndex;

isoStores.SetSettingValue("codigoTipo", App.ViewModel.TamanhoPizza[indiceSelecionado].IdSabor.ToString());

NavigationService.Navigate(new Uri("/DescriptionPage.xaml?nome=Salgadas", UriKind.Relative));
}

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
lst_tamanho.ItemsSource = null;
//deve-se limpar o list antes de voltar
base.OnBackKeyPress(e);
}
}
}



Eduardo Henrique Rizo disse:

Laerte, coloque aqui o código que você implementou para o botão Voltar...

Com o seu código vai ficar mais fácil para eu analisar.

Abraços,

Eduardo

Laerte, não sei se entendi direito o que teu código está fazendo... 

Em qual momento você está fazendo o binding no listbox?

RSS

© 2018   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço