C#重复/循环导航最佳实践

时间:2018-03-30 11:56:21

标签: c# wpf navigationservice

考虑一个包含ABC页面的C#应用​​程序以及以下流程。

A -> B
B -> C
C -> A
A -> B
...

我目前正在每页中使用这行代码进行导航。

this.NavigationService.Navigate(new B());

几个问题。

  1. 是否适合使用循环导航来持续实例化新页面?或者我应该创建页面的单例实例并在它们之间导航?
  2. 如果创建新实例正常,我该如何清除旧页面?我不需要支持向后导航。
  3. 如果我应该创建单例实例,那么应该放在哪里?
  4. 谢谢!

1 个答案:

答案 0 :(得分:-1)

每次用户导航时我都会实例化UI,但我可能会在viewmodel中保留状态,该状态会呈现给那条UI。 我使用Usercontrols而不是页面,并且主要使用viewmodel导航内容控件中内容的第一个模板。

1)取决于您是否需要保留状态。如果您使用mvvm,那么该状态纯粹是ui。

2)如果想要实例化实例,请使用不同的方法进行导航。

3)在字典中。键入类型。