WPF - 打开视图时的MVVM启动操作

时间:2013-08-29 08:15:26

标签: c# wpf mvvm viewmodel

我正在编写一小段MVVM用于培训,以便围绕该功能进行讨论。

我为我的Image模型类创建了一个Model,以便每个Image项都包含ID,Name,Link和其他高度和宽度等内容。

我也创建了一个View来显示数据。没有什么花哨。只是一个简单的ItemsControl,它在启动时被放入我的MainWindow Grid中。

我现在正在创建ImageViewModel类,这是我磕磕绊绊的地方。

我已经定义了这个类 - 不确定我是否正确地做了这个:

public class ImageViewModel : Screen 

我还编写了一些软件应该执行的代码,以便从网上获取数据并解析内容并为网络上的每个可用新项检索新的Image项。代码应该可以正常工作,因为它在没有MVVM功能的情况下编码时效果很好。

我的问题是我不知道如何使动作(称为public void FindNewImages)启动第二个视图在启动时加载到我的MainWindow网格中...我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:1)

这取决于您如何连接视图和查看模型。听起来您可能首先要查看视图,视图模型是视图的资源。在这种情况下,您可以在视图模型的构造函数中调用FindNewImages方法。

但我强烈建议你use an MVVM framework,例如提供屏幕生命周期的Caliburn.Micro。在这种情况下,您可以使用视图模型第一种方法,并在Caliburn.Micro提供的OnActivate类型的Screen方法中调用您的方法。