列表框和孤立存储

时间:2013-03-30 18:28:04

标签: c# windows-phone-7

我有两个关于Windows Phone开发的问题:

我有两个ListBoxListBox1ListBox2

我将ListBox1中的商品保存在隔离存储空间中。

我想从ListBox1获取所选项目并将其放入ListBox2保存在隔离存储空间2中

当我点击按钮获取Listbox1中的所选项目并放入ListBox2我的应用程序时,保存ListBox1中的所有项目并保存在Listbox2上1}}。

我的代码:

//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 个答案:

答案 0 :(得分:0)

问题不是很清楚,但我想我已经明白了。 您将值保存为键,将字符串保存为应用程序设置中的值。这应该是另一种方式,字符串(Produto和ProdutoComprado)作为键,值作为值。

我认为你把Add(key,value)语句混淆了。 msdn

所以

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

应该是:

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

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

应该是:

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