我正忙着开发WinRT应用程序。
我想访问页面 BasicPage1.xaml 中定义的RichEditBox的值到页面 BasicPage2.xaml 后面的代码中,即在 BasicPage2.xaml.cs中
无论如何在 BasicPage2.xaml.cs 中获取RichEditBox(在 BasicPage1.xaml 中定义)的值?
感谢您的期待。
答案 0 :(得分:1)
您熟悉MVVM吗?基本上,我们的想法是不要依赖于业务数据的控制层,而是在另一层上共享这些信息,在本例中是模型或视图模型。
因此,假设您想要加载项目并使用包含项目路径的文本框的对话框,用户可以修改该项目。因此,您将路径存储在名为ProjectInformation
的模型中,此对象现在可以传递给其他视图(更准确地说,查看模型,然后查看视图)并在那里使用数据。这里的重要部分是生命周期,你的模型比你的视图生存的时间长得多,所以数据在必要的地方存储和重用。
答案 1 :(得分:1)
一种简单的方法是在XAML中为文本框指定一个名称,然后通过后面代码中的名称访问该文本框。
<TextBox Name="myTextBox"/>
然后在后面的代码中你可以做到这一点
myTextBox.Text = "blah";
更好的方法是使用绑定,以便更新文本框会自动更新您绑定的属性。看看这篇文章textbox binding example
对于丰富的编辑文本框,您应该能够这样做:
组
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);
有关详细信息,请参阅此post
答案 2 :(得分:0)
导航到其他页面时是否需要发送?然后你就可以这样做:
this.Frame.Navigate(typeof(BasicPage2),textbox.Text);
并在BasicPage2.xaml.cs:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var textbox= e.Parameter;
...
}
但我强烈建议在您的应用程序中使用MVVM。使用MVVMLight,您可以非常轻松快捷地实现这一点。