C# WPF现代用户界面主控窗口之间的详细链接

C# WPF现代用户界面主控窗口之间的详细链接,c#,wpf,mvvm,modern-ui,C#,Wpf,Mvvm,Modern Ui,我是WPF的新手,正在努力完成最基本的任务。我真的希望有人能给我指出正确的方向。我正在使用WPF和使用MVVM模式的现代UI 我有一个UserControl,它成功地在datagrid中显示了一些数据。我所要做的就是,通过单击按钮,导航到第二个页面Usercontrol,并显示所选行的一些详细信息以进行编辑等 我在同一页上找到了几个主细节设置的示例,但没有一个使用不同的窗口/页面/用户控件回答我的问题 这似乎应该是最简单的任务,但出于某种原因,我真的很挣扎。我希望我只是错过了一些明显的东西,因为

我是WPF的新手,正在努力完成最基本的任务。我真的希望有人能给我指出正确的方向。我正在使用WPF和使用MVVM模式的现代UI

我有一个UserControl,它成功地在datagrid中显示了一些数据。我所要做的就是,通过单击按钮,导航到第二个页面Usercontrol,并显示所选行的一些详细信息以进行编辑等

我在同一页上找到了几个主细节设置的示例,但没有一个使用不同的窗口/页面/用户控件回答我的问题

这似乎应该是最简单的任务,但出于某种原因,我真的很挣扎。我希望我只是错过了一些明显的东西,因为我现在觉得自己很愚蠢


提前感谢。

要同时使用不同的控件,您需要使视图模型相互通信。这可以通过传递引用来实现,或者更常见地通过消息传递框架来实现

我更喜欢NuGet。它允许每个视图模型发送和注册特定类型的消息


这有点像广播事件,但允许您的父视图模型向子视图模型发送消息,而不实际知道它

让第二个UserControl公开依赖项属性,并将其绑定到数据网格的选定项。这就是MVVM的方式。不需要消息传递依赖属性在技术上不是WPF方式吗?在这个问题中,有人建议这些控件在不同的页面上下文中运行,因此子控件不存在可从父控件绑定的方式。如果它们确实共存,那么这绝对比消息传递好。谢谢你的评论,我需要比我现在更了解依赖属性和消息传递。你知道有什么好的资源可以帮助你决定何时使用哪种方法吗?谢谢你的建议,我现在正在学习一个关于MVLight的教程。希望这会有帮助。如果有帮助,我已经回答了一个类似的问题,再次感谢@kidshaw。我想我现在在信息方面取得了一些进展,但还是有点困惑。现在,我可以从父视图发送消息并注册以在子视图中接收消息,但在创建视图时,我正在创建子视图模型,因此它不存在以注册初始发送。我是否应该在创建父视图模型的同时创建子视图模型?还是我的想法有问题?MVVM灯将拯救这一天!您需要在视图之前存在viewmodels,因此请使用它随SimpleIOC提供的ViewModelLocator模式。基本上,创建一个将视图模型公开为属性的类,然后在app.xaml中创建该类的实例作为数据源。然后,视图将绑定到所需视图模型的相关属性。在引擎盖下使用SimpleIOC有助于确保ViewModel只存在一个单例。最好的一点是,如果您从nuget安装完整的软件包,默认情况下,这一切都在那里。