Я нашел решение и учел комментарии.
В Prism Framework вы можете использовать IEventAggregator для отправки сообщений между различными частями вашего приложения. Вот различные шаги с Prism.
Создайте класс, который содержит ссылку на ваше событие.
В этом файле создайте ссылку на ваше событие как класс .
namespace MyNameSpace
{
public class ViewUpdatedEvent : PubSubEvent<bool> { }
}
Опубликовать sh это событие в ViewModel:
public class HeaderViewModel
{
private IEventAggregator _eventAggregator;
public DelegateCommand MinimizeWindowCommand { get; set; }
public HeaderViewModel(IHeaderView view,IEventAggregator eventAggregator) : base(view)
{
_eventAggregator = eventAggregator;
MinimizeWindowCommand = new DelegateCommand(OnMinimizeWindow);
}
private void OnMinimizeWindow()
{
_eventAggregator.GetEvent<ViewUpdatedEvent>().Publish(true);
}
}
Я отправляю параметр "true", чтобы сказать, что я хочу уменьшить свой Окно.
Подписаться на это событие в коде представления:
public partial class Shell : Window
{
public Shell(IEventAggregator eventAggregator)
{
InitializeComponent();
eventAggregator.GetEvent<ViewUpdatedEvent>().Subscribe(OnMinimizeApp);
}
private void OnMinimizeApp(bool parameter)
{
if (parameter)
this.Visibility = Visibility.Hidden;
}
}
Вот и все. Я влюбился в Призму ^^. Надеюсь, что это поможет.