Pregunta

Tengo un control, dentro de un control, dentro de un control.

Al igual que..

Quizmaster -> Pregunta -> Respuestas -> RadioButton

Cuando se verifica una de las respuestas, quiero que se ejecute la función en QuizMaster llamada AskNextQuestion ().

¿Cómo puedo hacer eso?

¿Fue útil?

Solución

Crearía un evento en su control anidado y tendrá su QuizMaster Suscríbete a ese evento.

En tus Answers Agrega esto:

public static event Action<bool> IsAnswered;

y dispare este evento cuando seleccione un RadioButton en su manejador

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

Y en tu QuizMaster Suscríbase a este evento estático:

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

public void Answers_IsAnsweredCompleted(bool IsAsnwered)
{
  //call your method in QuizMaster
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top