如何在UWP中通过多个页面传递对象

jim*_*ing 2 c# uwp uwp-xaml

我的任务是创建一个多页面 UWP 应用程序,该应用程序需要通过多个页面传递学生对象。该应用程序从主页开始,有两个按钮,一个用于添加新学生,另一个用于查看学生详细信息。

我目前正在努力弄清楚如何将学生对象从“新学生页面”传递到“学生详细信息”页面。我不允许将学生信息存储在文件或数据库中。

添加新学生后,信息应存储在 Student 对象中,是否可以将该对象公开,以便无需通过页面传递即可使用它?是否也可以将学生详细信息页面上的文本块绑定到输入页面中的学生对象?

小智 5

您可以使用您的Student类对象,然后将其Navigate作为参数传递到另一个页面。

在页面中New Student

void ButtonShowDetails_Click(sender , ....)
{
  var student = new Student();
  student.Name="Joe";// or txtStudentName.Text
  /// etc
  /// etc
  Frame.Navigate(typeof(pgStudentDetails), student);
}
Run Code Online (Sandbox Code Playgroud)

在页面中pgStudentDetails

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    var param = (Student)e.Parameter; // get parameter
    txtName.Text= param.Name;//show data to user
}
Run Code Online (Sandbox Code Playgroud)