Używam następujący kod do aktualizacji listbox, to już otrzymywać listy od wstęgi obsługa-wartość nie mieści się w oczekiwanym zakresie
client.userKeywordsCompleted += new EventHandler<userKeywordsCompletedEventArgs>(client_userKeywordsCompleted);
client.userKeywordsAsync();
użyciu -
void client_userKeywordsCompleted(object sender, userKeywordsCompletedEventArgs e)
{
string result = System.Convert.ToString(e.Result);
for (int i = 0; i < e.Result.Count; i++)
{
ListBoxItem lbitem = new ListBoxItem();
lbitem.Name = "lb_" + i;
lbitem.Content = e.Result[i];
lbitem.AddHandler(UIElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(ListBoxItem_DoubleClickEvent), true);
listBox1.Items.Add(lbitem);
}
To działa prawidłowo , ponieważ używam go, gdy ładuje się okno Dziecko, więc pole listy pobiera listę z bazy danych, jednak gdy użytkownik wybierze jedną z pozycji w polu listy, ma możliwość edycji wybranego elementu. Tak więc jedna edycja jest na miejscu, jest przycisk edycji, który aktualizuje kolumnę w tabeli w bazie danych. Tak więc, klikając przycisk, ponownie wywołuję powyższy kod, aby zaktualizować listę z nowymi danymi uwierzytelniającymi. Jednak to przynosi bcak błędu -
"Value does not fall within the expected range."
Dlaczego nie mogę nazwać metodę internetową w przycisk kliknięcia, a wszystko to robi to odświeżenie listbox ???
Więc co byś zasugerował? Spojrzałem na tę odpowiedź, myślę, że to, co powiedziałeś, jest problemem. – Ebikeneser
Właśnie dodałem funkcję clear do elementów listbox w kliknięciu przycisku, to działa jako pierwszy z odświeżanymi opcjami, jednak jeśli zrobię to ponownie, pole listy się nie odświeży, czy wiesz, dlaczego tak jest? – Ebikeneser
Po wyczyszczeniu można tylko w celu debugowania upewnij się, że lista elementów jest pusta. Może powinieneś rozważyć umieszczenie wyczyszczenia w callbacku. – Stainedart