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