我有一个控件,在一个控件内,在一个控件内。
像这样
QuizMaster->问题->答案-> RadioButton
当答案之一被选中时,我要运行Quizmaster中称为AskNextQuestion()的函数。
我怎么做?
最佳答案
您将在嵌套控件中创建一个事件,并让您的QuizMaster
订阅该事件。
在您的Answers
中添加以下内容:
public static event Action<bool> IsAnswered;
并在其处理程序中选择
RadioButton
时触发此事件public void OnRadioButtonSelected(object sender, SomeEventArgs e)
{
if(IsAnswered != null)
IsAnswered(true);
}
并在您的
QuizMaster
中订阅此静态事件:public void SomeMethod()
{
Answers.IsAnswered += new Action<bool>(Answers_IsAnsweredCompleted);
}
public void Answers_IsAnsweredCompleted(bool IsAsnwered)
{
//call your method in QuizMaster
}