WinRT的应用程序

本文关键字:应用程序 WinRT | 更新日期: 2023-09-27 18:16:54

我正忙着开发一个WinRT应用程序。

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

是否有无论如何得到的值RichEditBox(定义在BasicPage1.xaml)在BasicPage2.xaml.cs ?

WinRT的应用程序

您熟悉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,您可以轻松快速地实现此功能。