我正在编写一小段MVVM用于培训,以便围绕该功能进行讨论。
我为我的Image模型类创建了一个Model,以便每个Image项都包含ID,Name,Link和其他高度和宽度等内容。
我也创建了一个View来显示数据。没有什么花哨。只是一个简单的ItemsControl,它在启动时被放入我的MainWindow Grid中。
我现在正在创建ImageViewModel类,这是我磕磕绊绊的地方。
我已经定义了这个类 - 不确定我是否正确地做了这个:
public class ImageViewModel : Screen
我还编写了一些软件应该执行的代码,以便从网上获取数据并解析内容并为网络上的每个可用新项检索新的Image项。代码应该可以正常工作,因为它在没有MVVM功能的情况下编码时效果很好。
我的问题是我不知道如何使动作(称为public void FindNewImages
)启动第二个视图在启动时加载到我的MainWindow网格中...我怎样才能实现这个目标?
答案 0 :(得分:1)
这取决于您如何连接视图和查看模型。听起来您可能首先要查看视图,视图模型是视图的资源。在这种情况下,您可以在视图模型的构造函数中调用FindNewImages
方法。
但我强烈建议你use an MVVM framework,例如提供屏幕生命周期的Caliburn.Micro。在这种情况下,您可以使用视图模型第一种方法,并在Caliburn.Micro提供的OnActivate
类型的Screen
方法中调用您的方法。