2013-03-30 74 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());