我正在使用 C# 创建一个 WP7 应用程序,我需要将数据从一个页面传递到另一个页面。
我在 SO 上找到了解决方案,但我仍然遇到问题。
在“第 1 页”上,我希望显示一个列表,用户可以使用“第 2 页”的输入来填充该列表。
在导航回“第 1 页”时,我在“第 2 页”中使用了以下语句: NavigationService.Navigate(new Uri("/MainPage.xaml?text="+WhoBox.Text, UriKind.Relative));
WhoBox
是一个文本框。
在“第 1 页”上,我有以下内容:
protected override void OnNavigateTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (NavigationContext.QueryString.ContainsKey("text"))
ListBlock.Text = ListBlock.Text + NavigationContext.QueryString["text"];
}
现在,这可行,但方式有限。如果我第二次尝试从“第 2 页”添加内容,它会ListBlock
用新添加的文本替换(文本块)中存在的内容,而不是附加它。
不应该ListBlock.Text = ListBlock.Text + NavigationContext.QueryString["text"];
导致附加新文本,而不是完全替换旧文本?
编辑:我可能已经找到了解决方案。无论出于何种原因,当我使用 F5 运行程序时,XAML 或 .cs 文件中的任何更改都不会反映出来。难道我做错了什么?例如,即使我删除了一个按钮,当我调试 (F5) 程序时它仍然会出现。我需要更改一些设置吗?还是我应该使用其他命令?我对 Visual Studio 比较陌生,所以请原谅。