2012-05-10 6 views
0

Я устанавливаю SelectedItem вручнуюListpicker: огонь SelectionChanged

public pageXXXX() 
     { 

      InitializeComponent(); 

      this.cargaLista(); 
     } 

private void cargaLista() 
{ 
    this.lPickTipo.SelectedItem = this.lPickTipo.Items.OfType<tipos>().First(i => i.tipo == varString); 

    // here i load other data 
    // 


} 

Ok. Хорошо работает.

Но моя проблема в том, что SelectionChanged события огня наконец, не тогда, когда я вручную указать SelectedItem

Это проблема для меня. Потому что я бегу известково внутри «SelectionChanged» событие, и мне нужно запустить известково когда я SelectedItem, потому что другие функции зависят от этого результата

private void lPickTipo_SelectionChanged(object sender, SelectionChangedEventArgs e) 
      { 
       try 
       { 
        if (this.lPickTipo.SelectedItem != null) 
        { 
         if (lPickTipo.SelectedIndex > -1) 
         { 
          this.calcularTotales(); 
         } 
        } 
       } 
       catch (Exception EXC) 
       { // CACTHING } 

      } 

Почему последний огонь? Как я могу это решить?

+0

Что вы подразумеваете под словом "is fire last"? –

+0

означает, что это последнее событие, которое запускается на странице, пока оно не отображается ..... извините за мой английский. – aco

ответ

0

Если вы не можете изменить порядок возникновения событий на системном уровне, вам нужно будет изменить свою логику для учета того, что делает платформа.
Поскольку вы не указали какую-либо информацию о том, что вы на самом деле основываетесь на выборе, или почему он требует, чтобы события уровня страницы (предположительно) были запущены после изменения выбора, трудно быть более конкретным.

+0

Привет: «selectionchanged» запускается +1 time: 1st, когда я заполняю listpicker (ok) и (2nd или last), прежде чем показывать страницу. Я не понимаю этот последний запуск ... Почему selectionchanged firiring 2 раза? если я создаю пример с помощью listpicker, всегда это происходит ... – aco

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