private void solution_OpenSolutionCanExecute(object sender, CanExecuteRoutedEventArgs e) { var param = e.Parameter.ToString(); var solution = (Solution)sender; switch (param) { case CommandParameter.OPEN_SOLUTION_OPEN: solution.SolutionAvailable = !ViewModel.EditModeEnabled && _model.FileExists(solution.ComputedSolutionPath); e.CanExecute = solution.SolutionAvailable && !solution.HasError; break; case CommandParameter.OPEN_SOLUTION_OPEN_EXPLORER: solution.SolutionDirectoryAvailable = !ViewModel.EditModeEnabled && _model.DirectoryExists(solution.ComputedSolutionDirectory); e.CanExecute = solution.SolutionDirectoryAvailable && !solution.HasError; break; } }
private void CheckSolutionAvailability(Solution solution) { solution.SolutionAvailable = !ViewModel.EditModeEnabled && _model.FileExists(solution.ComputedSolutionPath); }