这个项目肯定是使用WPF,并且我将采用MVVM(我可能会使用Josh Smith的MVVM Foundation作为起点),以便能够从UI/逻辑分离等方面受益。但是,我不确定是否还应该使用Prism来构建我的项目。
让我简要描述一下这个项目。将有一个主要的“工具栏”,它将显示多个小部件。每个小部件都显示与其功能相关的一些基本数据,并且单击小部件将打开一个新窗口,其中将显示更详细的数据并包含用于查看/编辑数据的丰富UI。
现在,我想可以使用Prism来组织整个项目,但我以前从未使用过它,并不确定它是否适合我想要实现的目标。例如,我的“工具栏”是否应该是一个包含每个小部件所填充的区域的外壳?每次单击小部件时显示的每个新窗口是否也应该是具有自己的区域设置的外壳?如果我能够掌握工具栏和一个小部件的模式,我就可以复制它来处理其余的小部件。
除了Prism之外,我还有一个关于如何实现某些数据编辑窗口的MVVM的问题。假设我有一个图表,显示了一些数据,并且用户能够直接点击/鼠标移动到图表上以编辑他所看到的数据。所有数据都在模型中,视图模型通过绑定将该数据提供给视图。我的问题是,特定于该视图中的图表的鼠标单击/移动事件应写在哪里?我们不希望在视图的代码后台中添加太多/任何内容,也不希望在视图模型中具有UI事件处理程序,因此我不确定如何处理这种类型的情况。我知道命令可能是答案,但我看到的MVVM示例通常仅显示用于简单按钮单击的示例命令。总体思路是否相同?
因此,如果有人对上述或任何关于使用WPF和MVVM/Prism的一般提示有建议,请告诉我。
谢谢。