Domanda

Ho un controllo, all'interno di un controllo, all'interno di un controllo.

Come così ..

QuizMaster -> Domanda -> risposte -> RadioButton

Quando una delle risposte è selezionata voglio la funzione di chiamata Quizmaster AskNextQuestion () per l'esecuzione.

Come faccio a farlo?

È stato utile?

Soluzione

Si creerebbe un evento nella vostra controllo nested, e avere il vostro QuizMaster abbonarsi a tale evento.

Nel vostro Answers aggiungere questo:

public static event Action<bool> IsAnswered;

e del Fuoco questo evento quando si seleziona un RadioButton nel suo gestore

public void OnRadioButtonSelected(object sender, SomeEventArgs e)
{
  if(IsAnswered != null)
    IsAnswered(true);
}

e nella vostra QuizMaster Iscriviti a questo evento statico:

public void SomeMethod()
{
  Answers.IsAnswered += new Action<bool>(Answers_IsAnsweredCompleted);
}

public void Answers_IsAnsweredCompleted(bool IsAsnwered)
{
  //call your method in QuizMaster
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top