using System.Collections.ObjectModel; using System.Windows; using Caliburn; using Caliburn.Events.Brokering; using Caliburn.Services; namespace Samples.SimpleShell { public class ApplicationPresenter { private ObservableCollection _presenters = new ObservableCollection(); public ObservableCollection Presenters { get { return _presenters; } } [Subscribe("event://Shell/Presenter/AddRequested")] public void AddPresenterRequested(object presenter) { if (_presenters.Contains(presenter)) _presenters.Remove(presenter); _presenters.Insert(0, presenter); } [Subscribe("event://Shell/Presenter/RemoveRequested")] public void RemovePresenterRequested(object presenter) { _presenters.Remove(presenter); } public void About() { DI.Resolve() .MessageBox.Show("Simple Todo list demo.", "Caliburn Demo"); } public void Exit() { Application.Current.Shutdown(); } } }