예제 #1
0
        private void OnDeserializeViewModelState()
        {
            var filePath = FileManagerHelper.GetFileNameToOpen();

            if (String.IsNullOrWhiteSpace(filePath))
            {
                return;
            }

            _viewModelStateSerializer.LoadViewModelState(this, filePath);

            // updating event aggregator in loaded configuration for enabling event tracking
            TestConfiguration.UpdateConfiguration(ref _configuration, _eventAggregator);

            _eventAggregator.GetEvent <CameraPositionChangedEvent>().Unsubscribe(_cameraSubscriptionToken);
            _eventAggregator.GetEvent <CameraPositionChangedEvent>().Publish(Configuration.Camera);
            _cameraSubscriptionToken = _eventAggregator.GetEvent <CameraPositionChangedEvent>().Subscribe(OnCameraChange);

            if (State == TestState.TestIsFinished)
            {
                _models.ExecuteWithoutNotification(models => models.ForEach(model => model.ApplyFinalVisualState()));
                RaisePropertyChanged(() => Models3D);
            }
        }