嗨,我试图理解如何直接发送消息到speciciel目标。我得到了一个小型的SL projet和一个叫做class1的dunmmy类。我在类构造函数中注册并侦听所有字符串类型的消息。MVVM-Light:使用TTarget的信使
public class Class1
{
public Class1()
{
Messenger.Defaut.Register<String>(this, f => { TraiteMessage(f); });
}
public void TraiteMessage(string sMessage)
{
MessageBox.Show("Class1:" + sMessage);
}
}
现在我发送消息是这样的:
Messenger.Defaut.Send<String, Class1>("test message");
消息没有达到目标。当我查看MVVM灯的内部源代码时,我可以看到测试完成了:item.Action.Target.GetType()== messageTargetType,但实际上messageTargetType设置为:MyProejet.Class1,但是项目。 Action.Target.GetType()返回类似:{System.Collections.Generic.Dictionary 2System.Type,System.Collections.Generic.List
1 SLDuninLib.Messages.Avise + WeakActionAndToken]} {的System.Type} System.RuntimeType
我该怎么办错了吗? 感谢您的帮助
是的,class1在MainPage.xaml.ca载入事件中是instanciate。用于测试目的。 – Pierre 2010-10-08 13:17:29