我是 Silverlight 的新手,但在一些更中级/高级的东西上我听得见。
我在 Silverlight 5 中使用 MVVM。
我有一个视图(我们将其称为 ComboView.xaml)。它有一个 ViewModel(我们称之为 AwesomeVM)
视图包含在页面资源中声明的 ViewModel,如下所示:
<local:AwesomeVM x:Key="MyAwesomeVM" />
然后像这样在 DataContext 中引用:
<sdk:Page.DataContext>
<Binding Source="{StaticResource MyAwesomeVM}"/>
</sdk:Page.DataContext>
该视图在代码隐藏中有一个方法,称为 SetupPage。SetupPage 接收其视图模型类型 (AwesomeVM) 的实例作为参数,如下所示:
Public Sub SetupPage(ByVal VM As AwesomeVM)
...
End Sub
现在,问题来了:我需要从 ViewModel 中调用此 SetupPage()。它似乎在 ViewModel 能够获取其任何数据之前加载页面(我认为这是因为 ViewModel 使用 WCF webservice,这是一个异步调用),因此 SetupPage() 的 VM 没有数据,并炸毁。
有没有办法从 ViewModel 中调用视图的方法?