尝试制作一个文档查看器,比如 Acrobat,它由页面组成,每个页面都由缩略图组成(大小由用户自行决定)。我不确定如何设计 MVVM。目前我有:
文档视图模型、页面视图模型、缩略图视图模型
DocumentViewModel 有 ObservableCollection() // 跟踪 Pages
PageViewModel 有 ObservableCollection() // 跟踪要按文档显示的缩略图。
然而,这种设计会引起问题。例如,如果有 3 页缩略图。并且一半的缩略图从第 2 页中删除,然后第 3 页的缩略图应自动重新定位到第 2 页上的新可用空间。每个 PageViewModel 都必须了解彼此,这将违反 MVVM 策略,不是吗?在 DocumentViewModel 中声明 2 个 ObservableCollections 会更好吗?
欢迎任何帮助、指点、建议、指导。