嗨,我試圖理解如何直接發送消息到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