private void AddAnswer(AnswerViewModel answer) { AttachEvents(answer); _answers.Add(answer); RaiseAnswerAdded(answer.Answer); _logger.Log(Level.Trace, "Added a new answer to the question."); }
private void DettachEvents(AnswerViewModel answer) { answer.PropertyChanged -= AnswerPropertyChanged; answer.IsDirtyChangedEvent -= IsDirtyHandler; answer.RequestsRemovalEvent -= RequestAnswerRemoval; }
private void RequestAnswerAddition() { AnswerViewModel vm = new AnswerViewModel( new Answer(), _answerValidator, _subjectValidator, _subjectQuery, _busId ); AddAnswer(vm); CollectionViewSource.GetDefaultView(_answers).MoveCurrentTo(vm); }
private void RemoveAnswer(AnswerViewModel answer) { DettachEvents(answer); _answers.Remove(answer); RaiseAnswerRemoved(answer.Answer); _logger.Log(Level.Trace, "Removed an answer from the question."); }