Ссылаясь на ваш комментарий, я настоятельно рекомендую вам внимательно изучить Messenger class. Он даже предоставляет GalaSoft.MvvmLight.Messaging. DialogMessage для этого. Но вы можете предоставить свои собственные подклассы GenericMessage<T>
Вы регистрируетесь для получения такого сообщения и определяете, что должно произойти по прибытии сообщения:
Messenger.Default.Register<DialogMessage>(this,
dm =>
{
MessageBox.Show(dm.Content, dm.Caption, dm.Button, dm.Icon);
});
Хотя существует только удержание WeakReference, я обычно отменяю регистрацию, если больше не хочу получать информацию или представление отбрасывается. Всегда будь хорошим гражданином;)
Messenger.Default.Unregister(this);
Отправьте сообщение получателю и, при необходимости, определите обратный вызов, чтобы вернуть диалоговое окно:
Messenger.Default.Send(new DialogMessage(this, "Content",
result => Console.WriteLine(result.ToString()))
{
Caption = "Caption"
Icon = MessageBoxImage.Asterisk,
Button = MessageBoxButton.OK
});
person
Marius
schedule
03.04.2013