2013-03-30 76 views
2

我有关于Windows Phone开发两个问题:ListBox和独立存储

我有两个ListBoxListBox1ListBox2

保存我在ListBox1项目进行独立存储。

我想从ListBox1获得所选择的项目,并把它放在ListBox2在孤立的存储2节省

当我点击按钮获取所选项目的Listbox1,把为ListBox2我的应用程序将保存所有ListBox1中的物品并保存在Listbox2上。

我的代码:

//Isolated Storage 

private IsolatedStorageSettings _ListaCompras; 
private IsolatedStorageSettings _ListaComprado; 
_ListaCompras = IsolatedStorageSettings.ApplicationSettings; 
_ListaComprado = IsolatedStorageSettings.ApplicationSettings; 

//Save Item in ListBox1 
private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    if (textBoxProduto.Text != string.Empty) 
    { 
     _ListaCompras.Add(textBoxProduto.Text, "Produto"); 
     _ListaCompras.Save(); 
     salvarLista(); 
     contador(); 
    } 
    else MessageBox.Show("Informe o Produto"); 
} 

//Get the Selected item for ListBox1 and put the ListBox2 

private void button3_Click(object sender, RoutedEventArgs e) 
{ 
    if ((listBoxComprar.Items.Count <= 0) || (this.listBoxComprar.SelectedIndex == -1)) 
    MessageBox.Show("Selecione um item na lista de pendentes"); 
    else 
    { 
     _ListaComprado.Add(listBoxComprar.SelectedItem.ToString(), "ProdutoComprado"); 
     _ListaComprado.Save(); 
     salvarLista2(); 
    } 
    } 

//BIND KEYS 

    public void salvarLista() 
    { 
     listBoxComprar.Items.Clear(); 
     foreach (string key in _ListaCompras.Keys) 
     { 
      this.listBoxComprar.Items.Add(key); 
     } 
     textBoxProduto.Text = ""; 
    } 
    public void salvarLista2() 
    { 
     listBoxComprado.Items.Clear(); 
     foreach (string key2 in _ListaComprado.Keys) 
     { 
      this.listBoxComprado.Items.Add(key2);  
     } 
    } 
+1

我不明白这个问题。您正在尝试将lb1中的选定内容保存到独立存储中?你试图做的最后一件事是什么? –

回答

0

的问题不是很清楚,但我想我想通了。 您在应用程序设置中将值保存为键和字符串作为值。这应该是相反的方式,字符串(Produto和ProdutoComprado)作为键和值作为值。

我认为你有添加(键,值)语句混合起来。 msdn

所以

_ListaCompras.Add(textBoxProduto.Text, "Produto"); 

应该是:

_ListaCompras.Add("Produto", textBoxProduto.Text); 

_ListaComprado.Add(listBoxComprar.SelectedItem.ToString(), "ProdutoComprado"); 

应该是:

_ListaComprado.Add("ProdutoComprado", listBoxComprar.SelectedItem.ToString());