次のコードを使用してリストボックスを更新しています。これは Web サービスからリストを受け取ります。
client.userKeywordsCompleted += new EventHandler<userKeywordsCompletedEventArgs>(client_userKeywordsCompleted);
client.userKeywordsAsync();
使用:
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);
}
子ウィンドウが読み込まれるときに使用するため、これは正常に機能します。そのため、ListBox
はデータベースからリストを取得しますが、ユーザーが でアイテムの 1 つを選択ListBox
すると、選択したアイテムを編集するオプションが表示されます。したがって、編集が完了すると、データベース内のテーブルの列を更新する編集ボタンが表示されます。ボタンをクリックすると、前述のコードを再度呼び出してListBox
、新しい資格情報で更新します。ただし、これによりエラーが返されます。
「値が想定範囲内にありません。」
ボタンのクリック時に Web メソッドを呼び出せないのはなぜListBox
ですか?