0

我正在编写一个管理作业的 Windows Phone 8 应用程序。我正在使用 Caliburn Micro 执行 MVVM 任务。

简化概述:第 1 页显示工作列表。用户选择工作。应用程序显示相关页面 - 工作类型“清洁餐具”的第 2 页或工作类型“真空地板”的第 3 页。所有页面都是视图模型。

到目前为止,一切都很好。

用户还可以按加号按钮添加新作业。我需要显示作业类型列表以确定是显示第 2 页还是第 3 页。

我希望工作类型列表是一个视图模型。如果我把它变成一个页面,它会被放入我不想要的后堆栈中。我不知道如何在页面中显示基于用户控件的视图模型。这是 WPF 应用程序的一个端口,我将使用 WindowManager 在模式对话框中显示视图模型。

选项

  1. 将作业类型列表设为一页,并在 page2/3 关闭时将其从后台堆栈中删除
  2. 使作业类型列表成为用户控件。如何从第 1 页显示?
  3. 其他选项。

有没有人克服过类似的问题?有任何想法吗?

4

1 回答 1

1

您可以将作业类型列表放在其自己的页面中,并将其从后台堆栈中删除。只需在OnNavigatedFrom事件中添加一些代码

protected override void OnNavigatedFrom(NavigationEventArgs e) {
  base.OnNavigatedFrom(e);
  NavigationService.RemoveBackEntry();
}

当您导航到第 2 页或第 3 页时,这将导致它从后台堆栈中删除。

于 2013-05-21T00:07:35.160 回答