Wpf 谁应该负责填充usercontrol上的数据?

Wpf 谁应该负责填充usercontrol上的数据?,wpf,user-controls,Wpf,User Controls,问这个问题我觉得有点傻,但我很难找到最好的解决方案: 在WPF应用程序中,我有一个保存usercontrol的窗口。usercontrol有一个ListBox和一个DataGrid。ListBox由StaticResource填充,每当在ListBox中选择某个内容时,就会在服务中进行查找,返回要在DataGrid中填充的数据 嗯。我可以很容易地在usercontrol中引发一个事件,并让主窗口监听该事件。然后,该窗口可以在服务中查找数据,然后在usercontrol上调用一些populate/

问这个问题我觉得有点傻,但我很难找到最好的解决方案:

在WPF应用程序中,我有一个保存usercontrol的窗口。usercontrol有一个ListBox和一个DataGrid。ListBox由StaticResource填充,每当在ListBox中选择某个内容时,就会在服务中进行查找,返回要在DataGrid中填充的数据

嗯。我可以很容易地在usercontrol中引发一个事件,并让主窗口监听该事件。然后,该窗口可以在服务中查找数据,然后在usercontrol上调用一些populate/databind方法,然后usercontrol可以更新其DataGrid。这将所有责任都放在主窗口上

我确实喜欢分开考虑;)这不是主窗口应该关心的事情。如果这不是一个usercontrol,我会使用denpendency注入给它一个可以获取数据的服务的引用


你觉得我该怎么办?如果我选择DI,我将如何将服务注入我的usercontrol(我可以想出几种方法,但最佳实践是什么?)这方面有什么好的读物吗?

公认的方法是创建ViewModels(基于MVVM体系结构)。ViewModels是专为数据绑定而设计的对象

关于这个主题的一些阅读:


哎呀!谢谢你的信息。我认为对于这个小应用程序,我可能会找到一个更简单的解决方案。但我肯定会读到一些东西:)一旦你习惯了,你可以使用MVVM以同样快的速度完成:)