【问题标题】:While navigating from 1st page to 2nd page, 1st page (textbox text) gets removed in windows phone C# wpf从第一页导航到第二页时,第一页(文本框文本)在 windows phone C# wpf 中被删除
【发布时间】:2012-12-19 07:11:19
【问题描述】:

我在第 1 页中有多个文本框,在我填写文本框后,我单击下一步按钮导航到第 2 页,我使用这种方式进行导航, “this.Navigationservice.Navigate(new Uri("page2.xaml"),Urikind.Relative))”,它导航到第2页,在我填写第2页并按完成按钮后,它导航到上一页(即第1页) ,在完成单击后,我按照相同的方式导航到“this.Naviagtionserice.navigate(new uri("page1.xaml"),Urikind.Relative)),它返回到第 1 页,但在第 1 页,输入的文本框文本字段仅被删除显示没有输入内容的空文本框我怎样才能完成这项任务?请建议我..

问候, 洛克什.J

【问题讨论】:

    标签: windows-phone-7 c#-4.0


    【解决方案1】:

    要返回上一页,请使用:

    NavigationService.GoBack();
    

    NavigationService.Navigate 将创建一个新的页面实例(从而显示一个新的空文本框)。 Navigation.GoBack 将恢复上一页。

    【讨论】:

    • Navigationservice.GoBack() 恢复我的上一页,但我想将第 2 页的文本框内容读取到第 1 页,为了实现这一点,我使用了这种方式,texbox_manipulation 从第 2 页开始,字符串 dt = string.Format("{0:dd/MM/yyyy}", Cal.SelectedDate);字符串 urlofdestinationpage = "/page1.xaml"; urlofdestinationpage += string.Format("?TextData=" + dt.ToString());this.NavigationService.Navigate(new Uri(urlofdestinationpage, UriKind.Relative)); e.Complete();
    • e.Handled = true;在第 1 页中,我遵循这种方式,protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { IDictionary x = this.NavigationContext.QueryString;字符串 a = Convert.ToString(x["TextData"]); txtsecretquestion.Text = a.ToString();base.OnNavigatedTo(e);在 NavigationService.GoBack() 的帮助下,我想将第 2 页文本框内容读取到第 1 页文本框,这怎么可能,否则我该如何实现这个任务建议我
    • @lok​​esh 您可以在某处创建一个静态属性并将值存储在那里。或者考虑重构您的应用程序以使用 MVVM。
    • 一种快速而肮脏的方法:在您的 Page2.xaml.cs 中添加一个静态属性:public static string TextBox2Text { get; set; },然后在离开页面时填充它:TextBox2Text = TextBox2.Text;。然后你可以从应用程序的任何地方读取它:MessageBox.Show(Page2.TextBox2Text);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多