/// <summary> /// Initializes a new instance of the <see cref="LoggerViewModel"/> class. /// </summary> /// <param name="serviceProvider">A service provider that can provide a <see cref="IDispatcherService"/> to use for this view model.</param> public LoggerViewModel(IViewModelServiceProvider serviceProvider) : base(serviceProvider) { AddLoggerCommand = new AnonymousCommand<Logger>(serviceProvider, AddLogger); RemoveLoggerCommand = new AnonymousCommand<Logger>(serviceProvider, RemoveLogger); ClearLoggersCommand = new AnonymousCommand(serviceProvider, ClearLoggers); ClearMessagesCommand = new AsyncCommand(serviceProvider, ClearMessages); messages.CollectionChanged += MessagesCollectionChanged; }
/// <summary> /// Initializes a new instance of the <see cref="LoggerViewModel"/> class with multiple loggers. /// </summary> /// <param name="serviceProvider">A service provider that can provide a <see cref="IDispatcherService"/> to use for this view model.</param> /// <param name="loggers">The collection of <see cref="Logger"/> to monitor.</param> public LoggerViewModel(IViewModelServiceProvider serviceProvider, IEnumerable<Logger> loggers) : this(serviceProvider) { if (loggers == null) throw new ArgumentNullException("loggers"); foreach (var logger in loggers) { Loggers.Add(logger, new List<ILogMessage>()); logger.MessageLogged += MessageLogged; } ClearMessagesCommand = new AsyncCommand(serviceProvider, ClearMessages); }