Мне нужно установить некоторые элементы по умолчанию в виде списка, я делаю это событие, загруженное в listpicker. Это работает отлично, затем, когда пользователь меняет эти выборы, я не смог получить results.SelectionChanged событие увольняют до того listpicker загружается событие, если добавить обработчик событий в загруженном методе, удалением его из XAML, я получаю за исключениемУстановка нескольких элементов, выбранных по умолчанию для выбора списка - режим множественного выбора -windows phone
необработанное исключение типа «System.InvalidOperationException» произошло в System.Windows.ni.dll
Вот мой код ..
private void interestms_Loaded(object sender, RoutedEventArgs e)
{
//selectedinterests is a string containing keys of selected interests seperated by commas.
object[] split1 = selectedinterests.Split(',');
//interest is a dictionary with total list of interests
var s = PhoneApplicationService.Current.State["interest"];
List<object> finallist = new List<object>();
var ss = (((System.Collections.Generic.Dictionary<string, string>)(s))).Keys;
List<object> arr = new List<object>((((System.Collections.Generic.Dictionary<string, string>)(s))).Values);
for (int k = 0; k < split1.Length; k++)
{
object getsel = arr[k];
finallist.Add(getsel);
}
interestms.SelectedItems = hello;
}
На SelectionChange случая, я получаю те элементы, которые были кликали, а не те предметы, которые были проверены, поэтому, когда я сними извлеченную деталь, то этот пункт также будет добавлен в selectedItems. В этом случае мне нужно создать два массива объектов: один, содержащий полный набор значений, и другие выбранные элементы и удалить общие элементы в обоих. При этом selectionChanged метод вызывается перед загруженным событием.
Пожалуйста help.In случае требуется любая другая деталь, я был бы рад предоставить ..
EDIT:
private void interestms_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//edited interst is an array object
editedinterests.Add(e.AddedItems);
var s = PhoneApplicationService.Current.State["interest"];
List<object> arr = new List<object>((((System.Collections.Generic.Dictionary<string, string>)(s))).Values);
var listcommon = arr.Intersect(editedinterests);
}
могли бы вы предоставить фрагменты кода выбора измененного события – Jaihind
@Jaihind Да, я добавил его. –