C# 如何获取控件/视图或页面未清理xaml?

C# 如何获取控件/视图或页面未清理xaml?,c#,wpf,xaml,xamarin,C#,Wpf,Xaml,Xamarin,我将所有ViewModel都保存在IOC中。然后重新加载页面并离开页面 创建一个新实例,所有内容都是空的,起初我认为可能页面也需要保存在一个容器中,但后来注意到,例如ListView位于页面上,尽管重新加载页面,但它仍然是一个单例? 问题在于,在我的自定义元素和控件中,问题在于它们不是单例,或者页面每次都被重新加载?其背后的思想非常简单。数据未存储在页面中,因为当您导航到该页面时,正在创建该页面的新实例 您可以通过维护页面的静态实例来实现。ie页面仅在应用程序第一次运行时创建。下次加载页面时,状

我将所有ViewModel都保存在IOC中。然后重新加载页面并离开页面 创建一个新实例,所有内容都是空的,起初我认为可能页面也需要保存在一个容器中,但后来注意到,例如ListView位于页面上,尽管重新加载页面,但它仍然是一个单例?
问题在于,在我的自定义元素和控件中,问题在于它们不是单例,或者页面每次都被重新加载?

其背后的思想非常简单。数据未存储在页面中,因为当您导航到该页面时,正在创建该页面的新实例

您可以通过维护页面的静态实例来实现。ie页面仅在应用程序第一次运行时创建。下次加载页面时,状态将保持不变

如果使用的是prism,请转到处理导航/平铺导航的主视图。在这种情况下,可能会为每个屏幕创建一个新对象。如果在主视图中为每个视图创建一个静态实例,我们可以确保数据不会丢失,因为在整个应用程序中只创建一次静态实例


希望你明白了。如果有任何疑问,请回复。

请详细描述您的问题,并添加一些参考代码。我在页面上有自定义控件和ListView。如果重新加载页面是正常的,那么问题在于绑定?也就是说,页面本身不显示任何内容ListView是单例?如果未正确清洁或制作正确​​装订?我希望你没有理解重点。我希望您的主视图有许多子视图,即如果子视图是静态的,则可以维护数据。在我的项目中,我也喜欢很多子视图。某些子视图可能需要保留数据,即仅当数据更改时才需要重新加载,而不是在屏幕上加载。而有些页面需要在用户每次进入页面时加载。因此,每次导航完成或页面加载时,都可以创建新的页面实例?列表视图是视图中的组件,创建视图的新实例时会重新加载该组件。