c# - silverlight 3 中的路由事件?

标签 c# silverlight windows-phone-7 delegates routed-events

我有一个控件,在控件中,在控件中。

像这样..

测验大师 -> 问题 -> 答案 -> 单选按钮

选中其中一个答案后,我希望运行 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
}

关于c# - silverlight 3 中的路由事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309520/

相关文章:

c# - 没有 ID 的表的复杂映射

c# - 如何在 WebClient.DownloadStringAsync URL 中使用字符串

c# - 在 WP7 应用程序中使用 .GIF 动画作为启动画面

c# - Silverlight 4 中 RIA 服务中的回调方法

c# - 解析用于在 Silverlight 中呈现的字体 "really"

java - 编译为 DLL 的 Java 库可以用于开发 WP7 应用程序吗?

c# - Visual studio 2010 Bing map 按经度和纬度查找位置

c# - 从包含 Entity Framework 的 dll 获取连接字符串

c# - 从线程返回一个值

c# - 起订量,如何从另一个接口(interface)内部的接口(interface)验证方法