protected void SendMessage(string sMessage, Dictionary<string, object> dicParameters, params string[] arrReceivers) { BaseMessage message = new BaseMessage(); message.Sender = this.MessengerID; message.Token = sMessage; message.Parameters = dicParameters; if (arrReceivers == null || arrReceivers.Length == 0) message.Receivers = null; else message.Receivers = arrReceivers.ToList(); Messenger.Default.Send<BaseMessage>(message, message.Token); }
private bool CanReceived(BaseMessage pMessage) { bool bCanReceive = false; if (pMessage.Receivers == null || pMessage.Receivers.Count == 0) { bCanReceive = true; } else { for (int i = 0; i < pMessage.Receivers.Count; i++) { if (string.Compare(this.MessengerID, pMessage.Receivers[i], true) == 0) { bCanReceive = true; break; } } } return bCanReceive; }
protected virtual void MessageHandler(BaseMessage pMessage) { }
private void MessageReceiver(BaseMessage pMessage) { if (CanReceived(pMessage)) { MessageHandler(pMessage); } }
protected override void MessageHandler(BaseMessage pMessage) { if (pMessage.Token == MessageToken.GoToViewMessage) { if (pMessage.Parameters != null && pMessage.Parameters.ContainsKey("ViewType")) { //enumView view = (enumView)pMessage.Parameters["ViewType"]; //GoToView(view); } } else if (pMessage.Token == MessageToken.GoBackMessage) { GoBack(); } else if (pMessage.Token == MessageToken.ReloadMessage) //receive this message after restoring { //reset everything for (int i = 0;ModelQueue != null && i < ModelQueue.Count; i++) { ModelQueue[i].Reset(); } } }