Silverlight 4: событие не сработало? - PullRequest
1 голос
/ 03 сентября 2010

Новичок здесь.

Я создаю экземпляр класса ниже из-за кода страницы Silverlight.

Я пытаюсь понять, почему потоки вращаются (операция загрузки и работник)успешно вызвать событие Selected в классе, когда их завершенные события срабатывают, но событие Select для вызова метода (в данном случае конструктора) само по себе всегда равно нулю и поэтому не может?

Есть ли способ вызватьсобытие на самом вызове метода?

Спасибо!

    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 Ответ

1 голос
/ 03 сентября 2010

Если вы изучите код, который вызывает EventTest, вы обнаружите, что событие Selected назначается после вызова. Следовательно, в течение EventTest событие является нулевым. Завершенные события происходят позже после того, как EventTest завершено и SelectedEvent назначено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...