public InfoWarningErrorMessageController() { Current.ServiceChanged += EhServiceChanged; _unreversedDoc = new ObservableCollection <InfoWarningErrorTextMessageItem>(); _reversedDoc = new Collections.ObservableCollectionReversingWrapper <InfoWarningErrorTextMessageItem>(_unreversedDoc); _currentDoc = _unreversedDoc; _commandClearAllMessages = new RelayCommand(EhClearAllMessages); _commandReverseMessages = new RelayCommand(EhReverseAllMessages); _shutDownService = new CachedService <IShutdownService, IShutdownService>(false, (shutdownService) => shutdownService.Closed += EhApplicationClosed, (shutdownService) => shutdownService.Closed -= EhApplicationClosed); _shutDownService.StartCaching(); var memento = Current.PropertyService.GetValue(PropertyKeyMessageControlState, RuntimePropertyKind.UserAndApplicationAndBuiltin, () => null); if (null != memento) { SetMemento(memento); } EhServiceChanged(); }