WPF Prism InteractionRequestTrigger:在显示时重新创建 View 和 ViewModel

WPF Prism InteractionRequestTrigger: Re-create View and ViewModel upon show

使用 InteractionRequestTrigger 显示自定义弹出视图时,每次显示时都会使用相同的 View 和 ViewModel 实例。我怎样才能recreate/reset 得到View/ViewModel,所以View 的状态是"as default"。问题是我在弹出窗口中使用了 TabControl,在关闭并重新打开弹出窗口后,最后选择的选项卡仍然处于选中状态。

有什么想法吗?

您必须创建自己的 PopupWindowAction。为 WindowContent 类型添加一个 属性,并在每次显示弹出窗口时使用它来创建新实例。

此方法不需要您创建一组新的螺母和螺栓。

  1. 在您的视图模型上实施IInteractionRequestAware
  2. 在视图模型上创建一个整数属性来存储所选选项卡的索引
  3. TabControl.SelectedIndex绑定到新的属性
  4. 在执行 IInteractionRequestAware.Notification setter 时,将所选索引 属性 重置为 0。