2012-04-23 16 views
9

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 ???

Odpowiedz

11

Może to wynikać z faktu, że próbujesz dodać element ListBoxItem o tej samej nazwie do strony.

Jeśli chcesz odświeżyć zawartość listbox z nowo pobranymi wartościami, musisz najpierw ręcznie usunąć zawartość listbox, w przeciwnym razie twoja pętla spróbuje ponownie utworzyć lb_1 i dodać ją do tej samej listy.

Spójrz tutaj podobny problem, który wystąpił Silverlight: Value does not fall within the expected range exception

Cheers,

+0

Więc co byś zasugerował? Spojrzałem na tę odpowiedź, myślę, że to, co powiedziałeś, jest problemem. – Ebikeneser

+0

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

+0

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

1

miałem z zupełnie innej przyczyny samo zawiadomienie „Wartość nie mieści się w oczekiwanym zakresie” z Visual Studio 2008 czas próbuje użyć: Narzędzi -> Windows osadzonych narzędzi Silverlight -> Update Silverlight dla Windows Embedded Project.

Po spędzeniu wielu ohurs I okazało się, że problemem było to, że nie było pliku zasobów i narzędzie aktualizacji szuka .RC złożyć

Nich rozwiązaniem jest dodanie do folderu zasobów .RC plik, a nie działa idealnie. Mam nadzieję, że to pomoże ktoś tam

0

W przypadku WSS 3.0 niedawno przeżyłem sam problem. To właśnie z powodu kolumny, do której dostęp uzyskano z kodu, nie było na liście wss.

Powiązane problemy