Silverlight 4:事件没有解雇?

时间:2010-09-03 06:29:07

标签: silverlight events

纽布在这里。

我正在从Silverlight页面的代码隐藏中实例化下面的类。

我试图理解为什么旋转的线程(loadoperation和worker)在完成的事件触发时成功引发类上的Selected事件,但是方法调用上的Select事件(在本例中为constructer)本身总是空的,因此不能?

有没有办法在方法调用本身上引发事件?

谢谢!

    public EventTest()
    {
        if (1 != 1) //for test purposes
        {
            IPWorxDomainContext ctx = new IPWorxDomainContext();
            loadOperation = ctx.Load(ctx.GetTradeMarkRegistryListingsQuery());
            loadOperation.Completed += new EventHandler(loadOperation_Completed);
        }
        else 
        {
            if (Selected != null) //always null
            {
                Selected(null, new EventArgs());
            }

            worker = new BackgroundWorker();
            worker.DoWork += new DoWorkEventHandler(worker_DoWork);
            worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
            worker.RunWorkerAsync();
        }
    }

1 个答案:

答案 0 :(得分:1)

如果您检查调用EventTest的代码,您会发现在调用后正在分配Selected个事件。因此,在EventTest期间,事件为空。完成的事件在EventTest完成并且已分配SelectedEvent后发生。