我有同样的问题......我知道这不是一个好的解决方案,但我这样解决了......
在您的 ChildView 中
public ChildViewModel()
{
Messenger.UnRegister(this); //I use reflection and Attributes to register/Unregister you can do it normally
Messenger.Register(this);
if (ChildData== null)
{
Messenger.NotifyColleagues<object>(
MessengerMessages.GET_CHILD_DATA,ChildData);
}
}
[MessengerMessageSink(MessengerMessages.SEND_CHID_DATA,
ParameterType = typeof (CHILD_DATA))]
protected void Set_Child_DATA(ChildData childData)
{
if (childData!= null)
{
//Do Something
}
}
在您的父视图中
public ParentViewModel()
{
Messenger.UnRegister(this); //I use reflection and Attributes to register/Unregister you can do it normally
Messenger.Register(this);
}
[MessengerMessageSink(MessengerMessages.GET_CHILD_DATA,
ParameterType = typeof (CHILD_DATA))]
protected void Send_Child_DATA(Object obj)
{
Messenger.NotifyColleagues<object>(
MessengerMessages.SEND_CHILD_DATA,ChildData);
}
在这里,当 ChildViewModel 找到所需的数据时,我们调用 parentViewModel 发送所需的数据....