public MainViewModel() { _informationEngine = new InformationEngine(); _sessionViewModels = _informationEngine.Sessions.CreateDerivedCollection(x => new SessionViewModel(x) as ISessionViewModel); ((IEditableCollectionView) (CollectionViewSource.GetDefaultView(_sessionViewModels))) .NewItemPlaceholderPosition = NewItemPlaceholderPosition.AtEnd; _showInitializationErrorMessage = () => MessageBox.Show( "Bei der Initialisierung des Receivers ist ein Fehler aufgetreten.\n" + "Bitte schließen Sie die Session und starten den Receiver neu.", "Fehler"); _showCloseSessionErrorMessage = () => MessageBox.Show( "Beim Schließen der Session trat ein Fehler auf.", "Fehler"); StartNewSessionCommand = new ReactiveCommand(); StartNewSessionCommand.Subscribe(_ => StartNewSession()); InitializeReceiverCommand = new ReactiveAsyncCommand(); InitializeReceiverCommand.RegisterAsyncAction(x => InitializeReceiver((Tuple<Guid, IReceiver>) x)); InitializeReceiverCommand.ThrownExceptions.Subscribe( ex => _showInitializationErrorMessage()); CloseSessionCommand = new ReactiveCommand(); CloseSessionCommand.Subscribe(x => CloseSession((ISessionViewModel) x)); CloseSessionCommand.ThrownExceptions.Subscribe(ex => _showCloseSessionErrorMessage()); }
public MainViewModel() { _informationEngine = new InformationEngine(); _sessionViewModels = _informationEngine.Sessions.CreateDerivedCollection(x => new SessionViewModel(x) as ISessionViewModel); ((IEditableCollectionView)(CollectionViewSource.GetDefaultView(_sessionViewModels))) .NewItemPlaceholderPosition = NewItemPlaceholderPosition.AtEnd; _showInitializationErrorMessage = () => MessageBox.Show( "Bei der Initialisierung des Receivers ist ein Fehler aufgetreten.\n" + "Bitte schließen Sie die Session und starten den Receiver neu.", "Fehler"); _showCloseSessionErrorMessage = () => MessageBox.Show( "Beim Schließen der Session trat ein Fehler auf.", "Fehler"); StartNewSessionCommand = new ReactiveCommand(); StartNewSessionCommand.Subscribe(_ => StartNewSession()); InitializeReceiverCommand = new ReactiveAsyncCommand(); InitializeReceiverCommand.RegisterAsyncAction(x => InitializeReceiver((Tuple <Guid, IReceiver>)x)); InitializeReceiverCommand.ThrownExceptions.Subscribe( ex => _showInitializationErrorMessage()); CloseSessionCommand = new ReactiveCommand(); CloseSessionCommand.Subscribe(x => CloseSession((ISessionViewModel)x)); CloseSessionCommand.ThrownExceptions.Subscribe(ex => _showCloseSessionErrorMessage()); }