组合多个视图的MVVM

本文关键字:MVVM 视图 组合 | 更新日期: 2023-09-27 18:01:18

我正在使用Xamarin和MVVM光在Visual studio中开发一个应用程序。我的应用程序将有一个设置页面(视图)与几个主要类别,当用户点击其中一个,我想要一个新的视图出现与具体类别的详细设置。

我的问题很简单,但在谷歌上花了两个小时后,我终于放弃了。是否有可能将这些详细的设置组合在一个文件/视图中,而不是为每个人提供一个视图,因为这将为设置提供6个以上的视图。

我读过一些关于使用列表框,内容视图和observablecollection,但我还没有真正理解一切是如何工作的。

例如

:设置屏幕将显示一个类别列表,如:警报选项,设备选项,配置状态等…每个类别都有自己的选项,比如:打开/关闭声音、振动、屏幕调暗。不同种类的警报等等。我想知道如果我能做到这一点,没有每个类别的视图。

组合多个视图的MVVM

当然你可以在一个视图中实现这一切,这完全取决于你想如何设计你的应用程序的用户界面。

一切由你来决定。你想一次显示所有的详细选项,还是让他们显示一旦一个类别被点击。你想让它像"手风琴"类型的组一样工作吗?一旦你点击一个组,其他组就会折叠,等等。

在手机上,最佳做法通常就是你所描述的,点击一组选项,只会加载一个包含这些选项的新屏幕。用户可以使用后退键返回到上一个屏幕,他们可以看到详细的选项,没有额外的混乱,这是非常常见的,漂亮和干净。

我不知道为什么你认为有6+视图只是为了设置是不好的。您应该将项目组织到适当的文件夹中,以便于组织。

即使你希望所有的选项都在一个屏幕上,我还是建议你把它们分成不同的文件,以便于维护和可读性,然后把它们放在一个父视图中,作为某种类型的布局组件。

更多的文件通常比一个包含所有内容的大文件更干净,更好,更易于维护。

当然,存在文件过多的情况,所以请使用一些常识。

在你的例子中,我认为在你的Views文件夹中有一个名为"Settings"的文件夹,然后为每个部分分别有适当命名的文件,没有什么错。

如果您有其他的想法,请详细说明,以便我们提供建议。