2010-09-03 2 views
1

Newb здесь.Silverlight 4: Событие не стреляет?

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

Я пытаюсь понять, почему потоки, которые выделяются (loadoperation и работник), успешно поднимают событие 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

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

Смежные вопросы