假设我在WPF MVVM应用程序中有可拖动节点。我需要加载并保存节点的位置及其逻辑。最简单的方法是通过存储库将位置与逻辑保存在一个xml文件中。但是,这意味着我在模型和视图模型中有视图信息。
对于这种情况,是否有最佳实践方法,也许是我迄今未考虑过的方法?
答案 0 :(得分:7)
如果您的应用程序关心它向用户显示的UI元素的位置,那么我会说定义此定位的数据是模型中非常合理的部分。
不要混淆将模型和ViewModel的UI与实际业务需求分离的理想。例如,在像Visio这样的应用程序中,您可以说页面中对象的确切位置是“仅查看详细信息”,重要的只是对象的属性以及它们之间的连接。但是,从用户的角度来看,工作区中对象的放置非常重要。换句话说,它是数据模型的一部分。