Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 如何从viewmodel导航到视图_Silverlight_Mvvm_View_Viewmodel_Navigationservice - Fatal编程技术网

Silverlight 如何从viewmodel导航到视图

Silverlight 如何从viewmodel导航到视图,silverlight,mvvm,view,viewmodel,navigationservice,Silverlight,Mvvm,View,Viewmodel,Navigationservice,我想知道是否有人能就我遇到的Silverlight问题给我一些指导 我现在所做的是使用MVVM模式在Silverlight中构建一个页面来检索和显示我的数据。我的页面将是一个标准的“列表”类型页面,使用datagrid显示和过滤数据 我想做的是,如果用户单击此列表页面上的编辑按钮,我想导航到一个详细信息页面,该页面将包含一个数据表单,我想绑定到绑定到列表页面datagrid的相同数据集合。我认为必须发生的是列表视图模型必须创建详细信息页面,并将详细信息页面datacontext设置为自身(作为列

我想知道是否有人能就我遇到的Silverlight问题给我一些指导

我现在所做的是使用MVVM模式在Silverlight中构建一个页面来检索和显示我的数据。我的页面将是一个标准的“列表”类型页面,使用datagrid显示和过滤数据

我想做的是,如果用户单击此列表页面上的编辑按钮,我想导航到一个详细信息页面,该页面将包含一个数据表单,我想绑定到绑定到列表页面datagrid的相同数据集合。我认为必须发生的是列表视图模型必须创建详细信息页面,并将详细信息页面datacontext设置为自身(作为列表视图模型的实例)。我不确定如何创建视图、导航到视图并将引用传递给视图模型


你可能想知道为什么我想要一个包含收藏的详细信息页面。这样我就可以模拟用户在当前访问应用程序中熟悉的行为。大多数情况下,当用户过滤列表视图时,它会很方便,他们可以进入一个页面,在该页面中,他们可以导航和编辑来自过滤器的任何结果,而无需重复打开和关闭详细信息页面。

MVVM非常适合这种情况。假设它们共享相同的视图模型是正确的,因为数据是相同的,并且可以同时自动更新两个位置的数据

但是,我会避免使用视图模型来创建视图。这通常被视为实现MVVM的错误方法,因为它会创建从视图模型到视图的耦合,这可能会在以后给您带来麻烦


博客文章中描述了一个带有示例代码的解决方案。

我有点困惑。您提到的博客文章演示了如何将网格视图转换为编辑模式。我真正想知道的是如何创建一个视图,将它的视图模型设置为列表视图的视图模型,然后导航到该视图。谢谢