gpt4 book ai didi

c# - ListPicker SelectionChanged 被多次调用

转载 作者:太空宇宙 更新时间:2023-11-03 20:15:29 27 4
gpt4 key购买 nike

ListPicker 是来自 WP8 Toolkit. 的控件

代码:

private void field_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// Make sure we don't handle the event during initiation.
if (e.RemovedItems != null && e.RemovedItems.Count > 0)
{
if (this.field.SelectedItems != null)
{
if (this.field.SelectedIndex != -1)
{
ListPicker_SelectionChanged(sender, e);
//Make needed proffesions visable:
profls.Clear();
foreach (ListPickItem item in field.SelectedItems)
switch (item.Tag)
{
default:
foreach (ListPickItem iitem in profl[9])
profls.Add(iitem);
break;
case 90017:
foreach (ListPickItem iitem in profl[0])
profls.Add(iitem);
break;
case 9000:
foreach (ListPickItem iitem in profl[1])
profls.Add(iitem);
break;
}
}
}
}
}
  • 请注意 profession ListPicker 的 ItemsSource 是数据绑定(bind)到 profls 变量。
  • 我修改了 Listpicker,以便我还可以设置 SelectedItems 属性,而不仅仅是从中读取(遵循 this 指南)并且效果很好。

问题:

每当我更改 field 列表选择器的选定项时,field_SelectionChanged 事件都会被调用多次。 (我希望它只被调用一次..)另一个奇怪的事情是,在最后一次调用中,field_SelectedItems 等于旧的 selectedItems(“更改”之前的那些)..

这是错误还是我的问题? (我该如何解决?)


编辑:

我检查了一下,如果在我选择项目之前列表选择器中没有选定的项目,它似乎只被调用一次。 (我的意思是在我选择新项目之前 SelectedItems 是空的)

最佳答案

固定 :)

我使用了这个答案中建议的代码:listPicker not updating selection in full mode

if (MyListPicker.SelectedIndex != -1)
{
//Code..
}

关于c# - ListPicker SelectionChanged 被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17012488/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com