【问题标题】:Listpicker: fire SelectionChangedListpicker:触发SelectionChanged
【发布时间】:2012-05-10 21:42:53
【问题描述】:

我正在手动设置 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

这对我来说是个问题。因为我在 "SelectionChanged" 事件中运行 calc,并且我需要在 selecteditem 时运行 calc,因为其他功能取决于此结果

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

            }

为什么火是最后的?我该如何解决这个问题?

【问题讨论】:

  • 你说的“最后是火”是什么意思?
  • 表示这是页面显示之前在页面中运行的最后一个事件.....对不起我的英语。

标签: windows-phone-7 selectionchanged listpicker


【解决方案1】:

由于您无法更改引发系统级事件的顺序,因此您需要更改逻辑以说明平台的功能。
由于您没有提供任何关于您实际基于选择的信息,或者为什么它需要在选择更改后触发页面(大概)级别事件,因此很难更具体。

【讨论】:

  • 嗨:“selectionchanged”启动 +1 次:第一次当我填写 listpicker(ok)和(第二次或最后一次)显示页面之前。我不明白这最后一次发射...为什么 selectionchanged 会发射 2 次?如果我创建一个带有列表选择器的示例总是会发生这种情况......
猜你喜欢
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多