ListPicker является управление из Кодекса WP8 Toolkit.ListPicker SelectionChanged вызывается несколько раз
:
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;
}
}
}
}
}
- Пожалуйста, обратите внимание, что ItemsSource
profession
ListPicker является переплетены данных вprofls
вар. - Я изменил Listpicker так, чтобы я мог также установить свойство SelectedItems, а не только читать его (в соответствии с руководством this), и он отлично работает.
Проблема:
field_SelectionChanged
событие вызывается несколько раз, когда я изменить SelectedItems в field
listpicker в. (Я хочу, чтобы назвать только один раз ..) Еще одна вещи странно, что на одном из последних вызовов field_SelectedItems
равно старых SelectedItems (те, до «смены») ..
ли это ошибка или моя проблема? (Как я могу это исправить?)
EDIT:
Я проверил и кажется, что он вызывается только один раз, если не выбраны элементы в listpicker, прежде чем я выбираю пункты. (Я имею в виду, что SelectedItems пуста, прежде чем я выбираю новые пункты)
Можете ли вы показать код, на котором вы подписаны на событие «SelectionChanged»? –
@MatthewWatson Это в XAML –