需要在列表框中的另一个页面中显示一个页面的内容吗?

时间:2012-05-11 11:32:50

标签: c# windows-phone-7

我想使用独立存储创建一个Windows Phone 7应用程序。我创建了两个名为MainPage.xaml和Page1.xaml的页面。在MainPage.xaml中,我创建了一个名为button1的按钮和一个名为textBox1的textBox。在Page1.xaml中,我创建了一个名为listBox1的列表框。如果我在textBox1中写了一些东西,当我点击button1(在MainPage.xaml中)时,我需要listBox1来显示所有内容,无论我写入textBox1还是我需要保存listBox1中的内容隔离存储。任何人都可以帮忙吗??? ...我已经研究过这么多地方。在此先感谢您的辛勤工作!!!

2 个答案:

答案 0 :(得分:0)

在Mainpage.xaml

Private void button1_click()

{

 string message = textbox1.text;

 NavigationService.Navigate(new Uri(String.format("/Page1.xaml?value1 = {0}",message), UriKind.Relative));}

在Page1.Xaml

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)

{

 base.OnNavigatedTo(e);

 string newparameter = "";

 this.NavigationContext.QueryString.TryGetValue("value1", out newparameter);

 listbox1.items.add(newparameter.ToString());}

然后获取newparameter字符串并将其保存在isostore中。任何帮助进一步问我。

答案 1 :(得分:0)

在MainPage.xaml.cs中,您可以这样写:

Private void button1_click()
{
    NavigationService.Navigate(new Uri("/Page1.xaml?content="+textBox1.Text,UriKind.Relative));
}

在Page1.xaml.cs中,您可以这样写:

using System.Collections.Generic;
using Microsoft.Phone.Controls;
using System.IO;
using System.IO.IsolatedStorage;

namespace PhoneApp1
{
public partial class Page1 : PhoneApplicationPage
{
    public static List<string> list = new List<string>();
    public Page1()
    {
        InitializeComponent();
        listBox1.ItemsSource = list;
        IsolatedStorageFile storge = IsolatedStorageFile.GetUserStoreForApplication();
        StreamWriter writer = new StreamWriter(new IsolatedStorageFileStream("/list.txt", FileMode.OpenOrCreate, storge));
        for (int i = 0; i < list.Count; i++)
        {
            writer.WriteLine(list[i]);
        }   
        writer.Close();
    }

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        if (NavigationContext.QueryString.ContainsKey("content"))
        {
            list.Add(NavigationContext.QueryString["content"]);
        }
        base.OnNavigatedTo(e);
    }
}
}