0

我正忙于开发 WinRT 应用程序。

我想将页面 BasicPage1.xaml 中定义的 RichEditBox 的值访问到页面BasicPage2.xaml后面的代码中,即在BasicPage2.xaml.cs中?

无论如何要在 BasicPage2.xaml.cs 中获取 RichEditBox(在BasicPage1.xaml中定义)的吗?

感谢期待。

4

3 回答 3

1

你熟悉MVVM吗?基本上,这个想法是不要过多地依赖于业务数据的控制层,而是在另一个层上共享这些信息,在这种情况下是模型或视图模型。因此,假设您想要加载一个项目并有一个对话框,其中包含一个包含项目路径的文本框,用户可以修改该路径。因此,您可以将路径存储在名为 的模型中ProjectInformation,您现在可以将此对象传递给其他视图(更准确地说,是视图模型,然后是视图)并在那里使用数据。这里重要的部分是生命周期,您的模型可能比您的视图寿命更长,因此数据会在必要的地方存储和重用。

于 2013-06-04T10:21:12.927 回答
1

一种简单的方法是在 XAML 中为您的文本框命名,然后通过后面代码中的名称访问该文本框。

<TextBox Name="myTextBox"/>

然后在后面的代码中你可以做到这一点

myTextBox.Text = "blah";

更好的方法是使用绑定,以便更新文本框自动更新您绑定到的属性。看看这篇文章文本框绑定示例

对于富编辑文本框,您应该能够做到这一点:

myTextBox.Document.SetText(Windows.UI.Text.TextSetOptions.None, "Here is text");

得到

  string value = string.Empty;
  myTextBox.Document.GetText(Windows.UI.Text.TextGetOptions.AdjustCrlf, out value);

有关更多信息,请参阅此帖子

于 2013-06-04T11:39:44.467 回答
0

导航到其他页面时是否需要发送它?然后你可以这样做:

this.Frame.Navigate(typeof(BasicPage2),textbox.Text);

在 BasicPage2.xaml.cs 中:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var textbox= e.Parameter; 
    ...    
} 

但我也强烈建议在您的应用程序中使用 MVVM。使用 MVVMLight,您可以轻松快速地实现这一点。

于 2013-11-03T19:19:32.957 回答