private static object RaiseInternal( RelayConversionHandler handler, string eventName, object value, Type targetType, object parameter, CultureInfo culture) { if (handler != null) { return(handler(value, targetType, parameter, culture)); } if (WpfFactotum.IsInDesignMode()) { return(DependencyProperty.UnsetValue); } throw new NotSupportedException( string.Format(CultureInfo.InvariantCulture, "The event '{0}' is not being handled.", eventName)); }
public AnalysisControlViewModel() { _projectService = WpfFactotum.IsInDesignMode() ? null : VuGenServiceManager.GetService <IVuGenProjectService>().EnsureNotNull(); _transactionInfosInternal = new List <TransactionInfo>(); Transactions = new CollectionView(_transactionInfosInternal); AnalysisTypes = CreateCollectionViewForEnumeration <AnalysisType>(); ScoreUtilityTypes = CreateCollectionViewForEnumeration <ScoreUtilityType>(); PageSpeedStrategies = CreateCollectionViewForEnumeration <PageSpeedStrategy>(); AnalyzeCommand = new AsyncRelayCommand(ExecuteAnalyzeCommand, CanExecuteAnalyzeCommand); Transactions.CurrentChanged += Transactions_CurrentChanged; AnalysisTypes.CurrentChanged += AnalysisTypes_CurrentChanged; ScoreUtilityTypes.CurrentChanged += ScoreUtilityTypes_CurrentChanged; PageSpeedStrategies.CurrentChanged += PageSpeedStrategies_CurrentChanged; if (_projectService != null) { _projectService.LastReplayedRunChanged += (sender, args) => RefreshTransactions(); _projectService.ActiveScriptChanged += (sender, args) => RefreshTransactions(); _projectService.ScriptOpened += (sender, args) => RefreshTransactions(); _projectService.ScriptClosed += (sender, args) => RefreshTransactions(); _projectService.SolutionClosed += (sender, args) => RefreshTransactions(); } RefreshTransactions(); CoerceValue(SelectedTransactionProperty); CoerceValue(SelectedAnalysisTypeProperty); CoerceValue(SelectedScoreUtilityTypeProperty); CoerceValue(SelectedPageSpeedStrategyProperty); }