Silverlight 4.0 Silverlight Prism:如何等待两个事件

Silverlight 4.0 Silverlight Prism:如何等待两个事件,silverlight-4.0,prism-4,Silverlight 4.0,Prism 4,我正在使用Prism进行我的应用程序和 我有三个模块,分别是A,B,C A触发事件x,B触发事件y C将听取这两个事件x和y 在事件x=>的情况下,名为XEventHandler=>的事件处理程序将生成对象A 在事件y=>名为YEventHandler的事件处理程序的情况下 在YEventHandler中,将使用对象A。所以我需要一些方法来处理这个问题,以便: 如果创建了对象A=>如果模块C捕获y事件,则将执行YeventHander 如果尚未创建对象A(尚未触发x事件或创建对象A的过程尚未完成

我正在使用Prism进行我的应用程序和 我有三个模块,分别是A,B,C

A触发事件x,B触发事件y

C将听取这两个事件x和y

在事件x=>的情况下,名为XEventHandler=>的事件处理程序将生成对象A

在事件y=>名为YEventHandler的事件处理程序的情况下

在YEventHandler中,将使用对象A。所以我需要一些方法来处理这个问题,以便:

  • 如果创建了对象A=>如果模块C捕获y事件,则将执行YeventHander

  • 如果尚未创建对象A(尚未触发x事件或创建对象A的过程尚未完成)=>YeventHandler需要等待对象A准备就绪并继续

  • 我如何解决这个问题


    感谢这么酷的社区。

    这似乎是一项相当普通的任务。事件处理程序Y必须等待,例如。此重置事件在创建对象A时设置

    private AutoResetEvent objectACreated = new AutoResetEvent(false);
    private A a = null;
    
    void HandlerY(object sender, EventArgs args)
    {
        if(objectACreated.WaitOne())
        {
            a.DoSomething();
        }
    }
    
    void HandlerX(object sender, EventArgs args)
    {
        a = new A();
        objectACreated.Set();
    }