我想知道有没有人能给我一些关于Silverlight问题的指导?
我现在正在做的是使用MVVM模式在Silverlight中构建一个页面来检索和显示我的数据。我的页面将是一个标准的“列表”类型的页面,它使用数据网格来显示和过滤数据。
我想要做的是,如果用户单击此列表页上的编辑按钮,我想导航到一个详细信息页面,该页面将包含一个数据表单,我希望将该数据表单绑定到绑定到列表页面的数据网格的同一数据集合。我认为必须发生的是List ViewModel必须创建Details Page并将Details Page datacontext设置为自身(作为List ViewModel的实例)。我不确定如何创建视图、导航到视图并将引用传递给视图模型。
你可能想知道为什么我想要一个接受集合的详细信息页面。这样我就可以模拟我的用户在他们当前的access应用程序中熟悉的行为。大多数情况下,当用户过滤列表视图时,它很方便,用户可以进入一个页面,在那里他们可以导航和编辑来自过滤器的任何结果,而不必重复打开和关闭详细信息页面。
发布于 2011-04-11 18:47:01
MVVM非常适合这一点。您假设它们共享相同的视图模型是正确的,因为数据是相同的,并且您可以一次自动更新两个位置的数据。
但是,我会避免使用视图模型来创建视图。这通常被认为是实现MVVM的错误方式,因为它创建了视图模型到视图的耦合,这可能会在以后给您带来麻烦。
在this博客文章中描述了一个带有示例代码的解决方案。
https://stackoverflow.com/questions/5615574
复制相似问题