Listpicker: огонь SelectionChanged

Я устанавливаю selecteditem вручную

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 
    //


}

В порядке. Работает нормально.

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

Это проблема для меня. Потому что я запускаю calc внутри события "SelectionChanged", и мне нужно запускать calc, когда я 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 }

            }

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


person aco    schedule 10.05.2012    source источник
comment
что вы имеете в виду под последним огнем?   -  person Matt Lacey    schedule 10.05.2012
comment
означает, что это последнее событие, которое выполняется на странице перед ее отображением ..... извините за мой английский.   -  person aco    schedule 10.05.2012


Ответы (1)


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

person Matt Lacey    schedule 10.05.2012
comment
Привет: selectionchanged запускается +1 раз: 1-й, когда я заполняю список (хорошо) и (2-й или последний) перед тем, как показать страницу. Я не понимаю этот последний запуск... Почему selectionchanged срабатывает 2 раза? если я создаю пример со списком, всегда происходит это... - person aco; 10.05.2012